Browse Source

ch376-native: leds default to off and on during activity

pull/592/head
Dean Netherton 10 months ago
parent
commit
62d5a7b825
  1. 27
      Source/HBIOS/ch376-native/base-drv/ch376.c.s
  2. 19
      Source/HBIOS/ch376-native/base-drv/usb-init.c.s
  3. 14
      Source/HBIOS/ch376-native/source-doc/base-drv/ch376.c
  4. 10
      Source/HBIOS/ch376-native/source-doc/base-drv/usb-init.c

27
Source/HBIOS/ch376-native/base-drv/ch376.c.s

@ -530,10 +530,9 @@ l_ch_data_in_transfer_00107:
pop bc
;source-doc/base-drv/ch376.c:172: if (count == 0) {
ld a, e
;source-doc/base-drv/ch376.c:173: USB_MODULE_LEDS = 0x00;
or a
jr NZ,l_ch_data_in_transfer_00106
;source-doc/base-drv/ch376.c:173: USB_MODULE_LEDS = 0x03;
ld a,0x03
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/ch376.c:174: return USB_ERR_DATA_ERROR;
@ -563,8 +562,8 @@ l_ch_data_in_transfer_00148:
xor 0x80
l_ch_data_in_transfer_00149:
jp M, l_ch_data_in_transfer_00107
;source-doc/base-drv/ch376.c:181: USB_MODULE_LEDS = 0x03;
ld a,0x03
;source-doc/base-drv/ch376.c:181: USB_MODULE_LEDS = 0x00;
ld a,0x00
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/ch376.c:182: return USB_ERR_OK;
@ -572,8 +571,8 @@ l_ch_data_in_transfer_00149:
jr l_ch_data_in_transfer_00111
;source-doc/base-drv/ch376.c:184: done:
l_ch_data_in_transfer_00110:
;source-doc/base-drv/ch376.c:185: USB_MODULE_LEDS = 0x03;
ld a,0x03
;source-doc/base-drv/ch376.c:185: USB_MODULE_LEDS = 0x00;
ld a,0x00
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/ch376.c:186: return result;
@ -623,8 +622,8 @@ _ch_data_in_transfer_n:
ld c,(ix+6)
ld b,(ix+7)
ld (bc), a
;source-doc/base-drv/ch376.c:205: USB_MODULE_LEDS = 0x03;
ld a,0x03
;source-doc/base-drv/ch376.c:205: USB_MODULE_LEDS = 0x00;
ld a,0x00
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/ch376.c:207: return USB_ERR_OK;
@ -632,8 +631,8 @@ _ch_data_in_transfer_n:
jr l_ch_data_in_transfer_n_00104
;source-doc/base-drv/ch376.c:208: done:
l_ch_data_in_transfer_n_00103:
;source-doc/base-drv/ch376.c:209: USB_MODULE_LEDS = 0x03;
ld a,0x03
;source-doc/base-drv/ch376.c:209: USB_MODULE_LEDS = 0x00;
ld a,0x00
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/ch376.c:210: return result;
@ -740,8 +739,8 @@ l_ch_data_out_transfer_00110:
ld (de), a
jr l_ch_data_out_transfer_00103
l_ch_data_out_transfer_00105:
;source-doc/base-drv/ch376.c:231: USB_MODULE_LEDS = 0x03;
ld a,0x03
;source-doc/base-drv/ch376.c:231: USB_MODULE_LEDS = 0x00;
ld a,0x00
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/ch376.c:232: return USB_ERR_OK;
@ -749,8 +748,8 @@ l_ch_data_out_transfer_00105:
jr l_ch_data_out_transfer_00107
;source-doc/base-drv/ch376.c:234: done:
l_ch_data_out_transfer_00106:
;source-doc/base-drv/ch376.c:235: USB_MODULE_LEDS = 0x03;
ld a,0x03
;source-doc/base-drv/ch376.c:235: USB_MODULE_LEDS = 0x00;
ld a,0x00
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/ch376.c:236: return result;

19
Source/HBIOS/ch376-native/base-drv/usb-init.c.s

@ -100,8 +100,8 @@ __chnative_init:
inc de
ld bc,0x0068
ldir
;source-doc/base-drv/usb-init.c:28: USB_MODULE_LEDS = 0x00;
ld a,0x00
;source-doc/base-drv/usb-init.c:28: USB_MODULE_LEDS = 0x03;
ld a,0x03
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/usb-init.c:30: ch_cmd_reset_all();
@ -158,9 +158,10 @@ l__chnative_init_00110:
;source-doc/base-drv/usb-init.c:52: if (!ch_probe()) {
call _ch_probe
ld a, l
;source-doc/base-drv/usb-init.c:53: USB_MODULE_LEDS = 0x00;
or a
jr NZ,l__chnative_init_00108
;source-doc/base-drv/usb-init.c:53: USB_MODULE_LEDS = 0x03;
ld a,0x03
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/usb-init.c:54: print_string("\r\nCH376: NOT PRESENT$");
@ -173,8 +174,8 @@ l__chnative_init_00108:
ld hl,usb_init_str_5
call _print_string
l__chnative_init_00111:
;source-doc/base-drv/usb-init.c:61: USB_MODULE_LEDS = 0x01;
ld a,0x01
;source-doc/base-drv/usb-init.c:61: USB_MODULE_LEDS = 0x00;
ld a,0x00
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/usb-init.c:63: print_hex(ch_cmd_get_ic_version());
@ -251,8 +252,8 @@ l__chnative_init_00122:
jr C,l__chnative_init_00122
;source-doc/base-drv/usb-init.c:92: connected:
l__chnative_init_00118:
;source-doc/base-drv/usb-init.c:93: USB_MODULE_LEDS = 0x03;
ld a,0x03
;source-doc/base-drv/usb-init.c:93: USB_MODULE_LEDS = 0x00;
ld a,0x00
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/usb-init.c:94: return;
@ -262,8 +263,8 @@ l__chnative_init_00126:
inc c
jr l__chnative_init_00125
l__chnative_init_00121:
;source-doc/base-drv/usb-init.c:98: USB_MODULE_LEDS = 0x00;
ld a,0x00
;source-doc/base-drv/usb-init.c:98: USB_MODULE_LEDS = 0x03;
ld a,0x03
ld bc,_USB_MODULE_LEDS
out (c), a
;source-doc/base-drv/usb-init.c:99: print_string("USB: DISCONNECTED$");

14
Source/HBIOS/ch376-native/source-doc/base-drv/ch376.c

@ -170,7 +170,7 @@ usb_error ch_data_in_transfer(uint8_t *buffer, int16_t buffer_size, endpoint_par
count = ch_read_data(buffer);
if (count == 0) {
USB_MODULE_LEDS = 0x03;
USB_MODULE_LEDS = 0x00;
return USB_ERR_DATA_ERROR;
}
@ -178,11 +178,11 @@ usb_error ch_data_in_transfer(uint8_t *buffer, int16_t buffer_size, endpoint_par
buffer_size -= count;
} while (buffer_size > 0);
USB_MODULE_LEDS = 0x03;
USB_MODULE_LEDS = 0x00;
return USB_ERR_OK;
done:
USB_MODULE_LEDS = 0x03;
USB_MODULE_LEDS = 0x00;
return result;
}
@ -202,11 +202,11 @@ usb_error ch_data_in_transfer_n(uint8_t *const buffer, int8_t *const buffer_size
*buffer_size = count;
USB_MODULE_LEDS = 0x03;
USB_MODULE_LEDS = 0x00;
return USB_ERR_OK;
done:
USB_MODULE_LEDS = 0x03;
USB_MODULE_LEDS = 0x00;
return result;
}
@ -228,11 +228,11 @@ usb_error ch_data_out_transfer(const uint8_t *buffer, int16_t buffer_length, end
endpoint->toggle = !endpoint->toggle;
}
USB_MODULE_LEDS = 0x03;
USB_MODULE_LEDS = 0x00;
return USB_ERR_OK;
done:
USB_MODULE_LEDS = 0x03;
USB_MODULE_LEDS = 0x00;
return result;
}

10
Source/HBIOS/ch376-native/source-doc/base-drv/usb-init.c

@ -25,7 +25,7 @@ static usb_error usb_host_bus_reset(void) {
void _chnative_init(bool forced) {
memset(get_usb_work_area(), 0, sizeof(_usb_state));
USB_MODULE_LEDS = 0x00;
USB_MODULE_LEDS = 0x03;
ch_cmd_reset_all();
@ -50,7 +50,7 @@ void _chnative_init(bool forced) {
print_string("\bPRESENT (VER $");
} else {
if (!ch_probe()) {
USB_MODULE_LEDS = 0x00;
USB_MODULE_LEDS = 0x03;
print_string("\r\nCH376: NOT PRESENT$");
return;
}
@ -58,7 +58,7 @@ void _chnative_init(bool forced) {
print_string("\r\nCH376: PRESENT (VER $");
}
USB_MODULE_LEDS = 0x01;
USB_MODULE_LEDS = 0x00;
print_hex(ch_cmd_get_ic_version());
print_string("); $");
@ -90,12 +90,12 @@ void _chnative_init(bool forced) {
}
connected:
USB_MODULE_LEDS = 0x03;
USB_MODULE_LEDS = 0x00;
return;
}
}
USB_MODULE_LEDS = 0x00;
USB_MODULE_LEDS = 0x03;
print_string("USB: DISCONNECTED$");
}

Loading…
Cancel
Save