; 78K0R C Compiler V2.10 Assembler Source Date:13 Jun 2010 Time:19:31:24 ; Command : -c9F0104 -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -i ; renge -iC:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\ ; V1.20\inc78k0r -ms -qvjl3wt -sainter_asm -zp -no led.c ; In-file : led.c ; Asm-file : inter_asm\led.asm ; Para-file : $PROCESSOR(9F0104) $DEBUG $NODEBUGA $KANJICODE SJIS $TOL_INF 03FH, 0210H, 02H, 00H, 00H, 00H, 00H $DGS FIL_NAM, .file, 017FH, 0FFFEH, 03FH, 067H, 01H, 00H $DGS AUX_FIL, led.c $DGS MOD_NAM, led, 00H, 0FFFEH, 00H, 077H, 00H, 00H $DGS SEC_NAM, @@BITS, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@CNST, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@R_INIT, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@INIT, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@DATA, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@R_INIS, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@INIS, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@DATS, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@CNSTL, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@RLINIT, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@INITL, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@DATAL, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@CALT, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, ROM_CODE, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@CODEL, U, U, 00H, 078H, 00H, 00H $DGS SEC_NAM, @@BASE, U, U, 00H, 078H, 00H, 00H $DGS ENM_TAG, _pwr_state_, 00H, 0FFFEH, 0AH, 0FH, 01H, 00H $DGS AUX_TAG, 01H, 01EH $DGS MEB_ENM, _OFF_TRIG, 00H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _OFF, 01H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _ON_TRIG, 02H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _ON, 03H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _SLEEP_TRIG, 04H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _SLEEP, 05H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _BT_CHARGE, 06H, 0FFFFH, 04H, 010H, 00H, 00H $DGS END_STR, .eos, 01H, 0FFFFH, 00H, 066H, 01H, 00H $DGS AUX_EOS, 013H, 01H $DGS ENM_TAG, _poweron_reason_, 00H, 0FFFEH, 0AH, 0FH, 01H, 00H $DGS AUX_TAG, 01H, 025H $DGS MEB_ENM, _NONE, 00H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _PWSW, 01H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _RTC_ALARM, 02H, 0FFFFH, 04H, 010H, 00H, 00H $DGS END_STR, .eos, 01H, 0FFFFH, 00H, 066H, 01H, 00H $DGS AUX_EOS, 01EH, 01H $DGS ENM_TAG, _model_, 00H, 0FFFEH, 0AH, 0FH, 01H, 00H $DGS AUX_TAG, 01H, 02FH $DGS MEB_ENM, _MODEL_JIKKI, 00H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _MODEL_TS_BOARD, 01H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _MODEL_SHIROBAKO, 02H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _MODEL_RESERVED1, 03H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _MODEL_RESERVED2, 04H, 0FFFFH, 04H, 010H, 00H, 00H $DGS MEB_ENM, _MODEL_RESERVED3, 05H, 0FFFFH, 04H, 010H, 00H, 00H $DGS END_STR, .eos, 01H, 0FFFFH, 00H, 066H, 01H, 00H $DGS AUX_EOS, 025H, 01H $DGS STR_STR, .0fake, 00H, 0FFFEH, 08H, 0AH, 01H, 00H $DGS AUX_TAG, 04H, 041H $DGS MEB_STR, _pwr_state, 00H, 0FFFFH, 0AH, 08H, 01H, 00H $DGS AUX_STR, 013H, 00H, 01H, 00H, 00H, 00H, 00H, 00H $DGS MEB_STR, _poweron_reason, 01H, 0FFFFH, 0AH, 08H, 01H, 00H $DGS AUX_STR, 01EH, 00H, 01H, 00H, 00H, 00H, 00H, 00H $DGS BIT_FLD, _dipsw0, 010H, 0FFFFH, 0CH, 012H, 01H, 00H $DGS AUX_BIT, 00H, 01H $DGS BIT_FLD, _dipsw1, 011H, 0FFFFH, 0CH, 012H, 01H, 00H $DGS AUX_BIT, 00H, 01H $DGS BIT_FLD, _dipsw2, 012H, 0FFFFH, 0CH, 012H, 01H, 00H $DGS AUX_BIT, 00H, 01H $DGS BIT_FLD, _reboot, 013H, 0FFFFH, 0CH, 012H, 01H, 00H $DGS AUX_BIT, 00H, 01H $DGS MEB_STR, _model, 03H, 0FFFFH, 0AH, 08H, 01H, 00H $DGS AUX_STR, 025H, 00H, 01H, 00H, 00H, 00H, 00H, 00H $DGS END_STR, .eos, 04H, 0FFFFH, 00H, 066H, 01H, 00H $DGS AUX_EOS, 02FH, 04H $DGS LAB_SYM, bs_S0172, U, U, 00H, 06H, 00H, 00H $DGS LAB_SYM, es_S0172, U, U, 00H, 06H, 00H, 00H $DGS LAB_SYM, bs_S0173, U, U, 00H, 06H, 00H, 00H $DGS LAB_SYM, es_S0173, U, U, 00H, 06H, 00H, 00H $DGS LAB_SYM, bs_S0174, U, U, 00H, 06H, 00H, 00H $DGS LAB_SYM, es_S0174, U, U, 00H, 06H, 00H, 00H $DGS LAB_SYM, bs_S0175, U, U, 00H, 06H, 00H, 00H $DGS LAB_SYM, es_S0175, U, U, 00H, 06H, 00H, 00H $DGS STA_SYM, _lpf_coeff, U, U, 05002H, 03H, 01H, 03H $DGS AUX_STR, 00H, 00H, 02FH, 02FH, 00H, 00H, 00H, 00H $DGS STA_SYM, _MSG_MAIL, U, U, 05002H, 03H, 01H, 03H $DGS AUX_STR, 00H, 00H, 04H, 04H, 00H, 00H, 00H, 00H $DGS GLV_SYM, _LED_init, U, U, 01H, 026H, 01H, 02H $DGS AUX_FUN, 00H, U, U, 057H, 00H, 00H $DGS BEG_FUN, ??bf_LED_init, U, U, 00H, 065H, 01H, 00H $DGS AUX_BEG, 028H, 00H, 051H $DGS BEG_BLK, ??bb00_LED_init, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 027H, 00H, 00H $DGS END_BLK, ??eb00_LED_init, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 02AH $DGS END_FUN, ??ef_LED_init, U, U, 00H, 065H, 01H, 00H $DGS AUX_END, 02BH $DGS GLV_SYM, _LED_stop, U, U, 01H, 026H, 01H, 02H $DGS AUX_FUN, 00H, U, U, 05DH, 00H, 00H $DGS BEG_FUN, ??bf_LED_stop, U, U, 00H, 065H, 01H, 00H $DGS AUX_BEG, 057H, 00H, 05DH $DGS END_FUN, ??ef_LED_stop, U, U, 00H, 065H, 01H, 00H $DGS AUX_END, 05H $DGS GLV_SYM, _tsk_led_pow, U, U, 01H, 026H, 01H, 02H $DGS AUX_FUN, 00H, U, U, 06BH, 00H, 00H $DGS BEG_FUN, ??bf_tsk_led_pow, U, U, 00H, 065H, 01H, 00H $DGS AUX_BEG, 078H, 00H, 061H $DGS BEG_BLK, ??bb00_tsk_led_pow, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 03H, 00H, 063H $DGS BEG_BLK, ??bb01_tsk_led_pow, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 07H, 00H, 00H $DGS END_BLK, ??eb01_tsk_led_pow, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 012H $DGS END_BLK, ??eb00_tsk_led_pow, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 02DH $DGS END_FUN, ??ef_tsk_led_pow, U, U, 00H, 065H, 01H, 00H $DGS AUX_END, 02FH $DGS STA_SYM, _led_pow_normal, U, U, 01H, 03H, 01H, 02H $DGS AUX_FUN, 00H, U, U, 096H, 00H, 00H $DGS BEG_FUN, ??bf_led_pow_normal, U, U, 00H, 065H, 01H, 00H $DGS AUX_BEG, 0AEH, 00H, 070H $DGS STA_SYM, _state, ?L0031, U, 0CH, 03H, 00H, 00H $DGS BEG_BLK, ??bb00_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 05H, 00H, 072H $DGS BEG_BLK, ??bb01_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 09H, 00H, 076H $DGS END_BLK, ??eb01_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 0CH $DGS BEG_BLK, ??bb02_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 0EH, 00H, 07CH $DGS END_BLK, ??eb02_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 010H $DGS END_BLK, ??eb00_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 013H $DGS BEG_BLK, ??bb03_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 015H, 00H, 07EH $DGS BEG_BLK, ??bb04_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 018H, 00H, 082H $DGS END_BLK, ??eb04_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 01AH $DGS BEG_BLK, ??bb05_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 01CH, 00H, 088H $DGS END_BLK, ??eb05_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 01EH $DGS END_BLK, ??eb03_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 021H $DGS BEG_BLK, ??bb06_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 023H, 00H, 08AH $DGS BEG_BLK, ??bb07_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 026H, 00H, 08EH $DGS END_BLK, ??eb07_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 028H $DGS BEG_BLK, ??bb08_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 02AH, 00H, 00H $DGS END_BLK, ??eb08_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 02CH $DGS END_BLK, ??eb06_led_pow_normal, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 02DH $DGS END_FUN, ??ef_led_pow_normal, U, U, 00H, 065H, 01H, 00H $DGS AUX_END, 030H $DGS STA_SYM, _led_pow_hotaru, U, U, 01H, 03H, 01H, 02H $DGS AUX_FUN, 00H, U, U, 0D8H, 00H, 00H $DGS BEG_FUN, ??bf_led_pow_hotaru, U, U, 00H, 065H, 01H, 00H $DGS AUX_BEG, 0E5H, 00H, 09EH $DGS STA_SYM, _delay, ?L0052, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _state, ?L0053, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _blue_to, ?L0054, U, 0DH, 03H, 00H, 00H $DGS STA_SYM, _red_to, ?L0055, U, 0DH, 03H, 00H, 00H $DGS BEG_BLK, ??bb00_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 08H, 00H, 0A2H $DGS END_BLK, ??eb00_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 0BH $DGS BEG_BLK, ??bb01_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 0DH, 00H, 0A6H $DGS END_BLK, ??eb01_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 0FH $DGS BEG_BLK, ??bb02_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 012H, 00H, 0A8H $DGS BEG_BLK, ??bb03_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 014H, 00H, 0ACH $DGS END_BLK, ??eb03_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 016H $DGS BEG_BLK, ??bb04_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 018H, 00H, 0B2H $DGS END_BLK, ??eb04_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 01AH $DGS END_BLK, ??eb02_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 01BH $DGS BEG_BLK, ??bb05_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 01EH, 00H, 0B4H $DGS BEG_BLK, ??bb06_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 020H, 00H, 0B8H $DGS END_BLK, ??eb06_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 022H $DGS BEG_BLK, ??bb07_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 024H, 00H, 0BEH $DGS END_BLK, ??eb07_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 026H $DGS END_BLK, ??eb05_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 027H $DGS BEG_BLK, ??bb08_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 02AH, 00H, 0C0H $DGS BEG_BLK, ??bb09_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 030H, 00H, 0C4H $DGS END_BLK, ??eb09_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 034H $DGS BEG_BLK, ??bb0A_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 036H, 00H, 0C8H $DGS END_BLK, ??eb0A_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 039H $DGS BEG_BLK, ??bb0B_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 03FH, 00H, 0CCH $DGS END_BLK, ??eb0B_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 041H $DGS BEG_BLK, ??bb0C_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 043H, 00H, 0D2H $DGS END_BLK, ??eb0C_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 045H $DGS END_BLK, ??eb08_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 047H $DGS BEG_BLK, ??bb0D_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 04AH, 00H, 00H $DGS END_BLK, ??eb0D_led_pow_hotaru, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 04CH $DGS END_FUN, ??ef_led_pow_hotaru, U, U, 00H, 065H, 01H, 00H $DGS AUX_END, 04EH $DGS GLV_SYM, _tsk_led_wifi, U, U, 01H, 026H, 01H, 02H $DGS AUX_FUN, 00H, U, U, 0106H, 00H, 00H $DGS BEG_FUN, ??bf_tsk_led_wifi, U, U, 00H, 065H, 01H, 00H $DGS AUX_BEG, 013CH, 00H, 0E0H $DGS STA_SYM, _task_interval, ?L0079, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _remain_wifi_tx, ?L0080, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _state_wifi_tx, ?L0081, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _flag_wifi_TX, ?L0082, U, 0CH, 03H, 00H, 00H $DGS BEG_BLK, ??bb00_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 09H, 00H, 0E4H $DGS END_BLK, ??eb00_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 0BH $DGS BEG_BLK, ??bb01_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 0FH, 00H, 0E6H $DGS BEG_BLK, ??bb02_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 011H, 00H, 0ECH $DGS END_BLK, ??eb02_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 014H $DGS END_BLK, ??eb01_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 015H $DGS BEG_BLK, ??bb03_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 017H, 00H, 0F0H $DGS END_BLK, ??eb03_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 019H $DGS BEG_BLK, ??bb04_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 01DH, 00H, 0F2H $DGS BEG_BLK, ??bb05_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 02DH, 00H, 0F4H $DGS BEG_BLK, ??bb06_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 030H, 00H, 0F8H $DGS END_BLK, ??eb06_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 038H $DGS BEG_BLK, ??bb07_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 03BH, 00H, 0FEH $DGS END_BLK, ??eb07_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 03EH $DGS END_BLK, ??eb05_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 041H $DGS BEG_BLK, ??bb08_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 043H, 00H, 00H $DGS END_BLK, ??eb08_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 048H $DGS END_BLK, ??eb04_tsk_led_wifi, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 04BH $DGS END_FUN, ??ef_tsk_led_wifi, U, U, 00H, 065H, 01H, 00H $DGS AUX_END, 04CH $DGS GLV_SYM, _tsk_led_notify, U, U, 01H, 026H, 01H, 02H $DGS AUX_FUN, 00H, U, U, 014AH, 00H, 00H $DGS BEG_FUN, ??bf_tsk_led_notify, U, U, 00H, 065H, 01H, 00H $DGS AUX_BEG, 0191H, 02H, 010EH $DGS STA_SYM, _task_interval, ?L0107, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _flg_char_space, ?L0108, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _state_notify_led, ?L0109, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _flag_wifi_TX, ?L0110, U, 0CH, 03H, 00H, 00H $DGS BEG_BLK, ??bb00_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 09H, 00H, 0112H $DGS END_BLK, ??eb00_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 0BH $DGS BEG_BLK, ??bb01_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 0EH, 00H, 0114H $DGS BEG_BLK, ??bb02_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 01FH, 00H, 0118H $DGS END_BLK, ??eb02_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 027H $DGS BEG_BLK, ??bb03_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 02AH, 00H, 011CH $DGS END_BLK, ??eb03_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 02CH $DGS BEG_BLK, ??bb04_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 032H, 00H, 0120H $DGS REG_VAR, _dat, 06H, 0FFFFH, 010CH, 04H, 01H, 00H $DGS AUX_STR, 00H, 033H, 01H, 00H, 00H, 00H, 00H, 00H $DGS BEG_BLK, ??bb05_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 038H, 00H, 0124H $DGS END_BLK, ??eb05_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 03CH $DGS BEG_BLK, ??bb06_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 041H, 00H, 0128H $DGS END_BLK, ??eb06_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 043H $DGS BEG_BLK, ??bb07_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 045H, 00H, 012CH $DGS END_BLK, ??eb07_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 047H $DGS BEG_BLK, ??bb08_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 04BH, 00H, 012EH $DGS BEG_BLK, ??bb09_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 04FH, 00H, 0132H $DGS END_BLK, ??eb09_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 052H $DGS BEG_BLK, ??bb0A_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 054H, 00H, 0138H $DGS END_BLK, ??eb0A_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 057H $DGS END_BLK, ??eb08_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 05CH $DGS BEG_BLK, ??bb0B_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 05EH, 00H, 013AH $DGS BEG_BLK, ??bb0C_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 060H, 00H, 013EH $DGS END_BLK, ??eb0C_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 063H $DGS BEG_BLK, ??bb0D_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 065H, 00H, 00H $DGS END_BLK, ??eb0D_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 068H $DGS END_BLK, ??eb0B_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 06AH $DGS END_BLK, ??eb04_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 06BH $DGS END_BLK, ??eb01_tsk_led_notify, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 06CH $DGS END_FUN, ??ef_tsk_led_notify, U, U, 00H, 065H, 01H, 00H $DGS AUX_END, 06DH $DGS GLV_SYM, _tsk_led_cam, U, U, 01H, 026H, 01H, 02H $DGS AUX_FUN, 00H, U, U, 017FH, 00H, 00H $DGS BEG_FUN, ??bf_tsk_led_cam, U, U, 00H, 065H, 01H, 00H $DGS AUX_BEG, 0208H, 00H, 0151H $DGS STA_SYM, _state_led_cam, ?L0142, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _task_interval, ?L0143, U, 0CH, 03H, 00H, 00H $DGS STA_SYM, _state_led_cam_twl, ?L0144, U, 0CH, 03H, 00H, 00H $DGS BEG_BLK, ??bb00_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 07H, 00H, 0155H $DGS END_BLK, ??eb00_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 0AH $DGS BEG_BLK, ??bb01_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 010H, 00H, 0157H $DGS BEG_BLK, ??bb02_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 01EH, 00H, 015BH $DGS END_BLK, ??eb02_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 021H $DGS BEG_BLK, ??bb03_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 023H, 00H, 015FH $DGS END_BLK, ??eb03_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 026H $DGS BEG_BLK, ??bb04_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 02CH, 00H, 0163H $DGS END_BLK, ??eb04_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 030H $DGS BEG_BLK, ??bb05_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 032H, 00H, 0167H $DGS END_BLK, ??eb05_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 034H $DGS BEG_BLK, ??bb06_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 039H, 00H, 016BH $DGS END_BLK, ??eb06_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 03DH $DGS BEG_BLK, ??bb07_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 03FH, 00H, 016FH $DGS END_BLK, ??eb07_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 041H $DGS BEG_BLK, ??bb08_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 045H, 00H, 0171H $DGS BEG_BLK, ??bb09_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 04DH, 00H, 0175H $DGS END_BLK, ??eb09_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 050H $DGS BEG_BLK, ??bb0A_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_BEG, 052H, 00H, 00H $DGS END_BLK, ??eb0A_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 055H $DGS END_BLK, ??eb08_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 05FH $DGS END_BLK, ??eb01_tsk_led_cam, U, U, 00H, 064H, 01H, 00H $DGS AUX_END, 060H $DGS END_FUN, ??ef_tsk_led_cam, U, U, 00H, 065H, 01H, 00H $DGS AUX_END, 062H $DGS GLV_SYM, _vreg_ctr, U, U, 0CH, 02H, 01H, 03H $DGS AUX_STR, 00H, 00H, 01H, 01H, 00H, 00H, 00H, 00H $DGS GLV_SYM, _system_status, U, U, 08H, 02H, 01H, 00H $DGS AUX_STR, 02FH, 00H, 04H, 00H, 00H, 00H, 00H, 00H $DGS GLV_SYM, _@RTARG0, U, U, 00H, 02H, 00H, 00H $DGS GLV_SYM, @@isrem, U, U, 00H, 02H, 00H, 00H $DGS GLV_SYM, _vreg_twl, U, U, 0CH, 02H, 01H, 03H $DGS AUX_STR, 00H, 00H, 01H, 01H, 00H, 00H, 00H, 00H EXTRN _vreg_ctr EXTRN _system_status EXTRN _@RTARG0 EXTRN @@isrem EXTRN _vreg_twl PUBLIC _LED_init PUBLIC _LED_stop PUBLIC _tsk_led_pow PUBLIC _tsk_led_wifi PUBLIC _tsk_led_notify PUBLIC _tsk_led_cam @@BITS BSEG @@CNST CSEG MIRRORP _lpf_coeff: DB 01H ; 1 DB 02H ; 2 DB 02H ; 2 DB 03H ; 3 DB 03H ; 3 DB 02H ; 2 DB 00H ; 0 DB 0FEH ; 254 DB 0FBH ; 251 DB 0F7H ; 247 DB 0F3H ; 243 DB 0F0H ; 240 DB 0F0H ; 240 DB 0F3H ; 243 DB 0FAH ; 250 DB 04H ; 4 DB 012H ; 18 DB 025H ; 37 DB 038H ; 56 DB 04DH ; 77 DB 05FH ; 95 DB 06EH ; 110 DB 077H ; 119 DB 07AH ; 122 DB 077H ; 119 DB 06EH ; 110 DB 05FH ; 95 DB 04DH ; 77 DB 038H ; 56 DB 025H ; 37 DB 012H ; 18 DB 04H ; 4 DB 0FAH ; 250 DB 0F3H ; 243 DB 0F0H ; 240 DB 0F0H ; 240 DB 0F3H ; 243 DB 0F7H ; 247 DB 0FBH ; 251 DB 0FEH ; 254 DB 00H ; 0 DB 02H ; 2 DB 03H ; 3 DB 03H ; 3 DB 02H ; 2 DB 02H ; 2 DB 01H ; 1 _MSG_MAIL: DB 0F6H ; 246 DB 0DAH ; 218 DB 06EH ; 110 DB 094H ; 148 DB (1) @@R_INIT CSEG UNIT64KP DB 00H ; 0 DB (1) @@INIT DSEG BASEP ?L0142: DS (1) DS (1) @@DATA DSEG BASEP ?L0031: DS (1) ?L0052: DS (1) ?L0053: DS (1) DS (1) ?L0054: DS (2) ?L0055: DS (2) ?L0079: DS (1) ?L0080: DS (1) ?L0081: DS (1) ?L0082: DS (1) ?L0107: DS (1) ?L0108: DS (1) ?L0109: DS (1) ?L0110: DS (1) ?L0143: DS (1) ?L0144: DS (1) @@R_INIS CSEG UNIT64KP @@INIS DSEG SADDRP @@DATS DSEG SADDRP @@CNSTL CSEG PAGE64KP @@RLINIT CSEG UNIT64KP @@INITL DSEG UNIT64KP @@DATAL DSEG UNIT64KP @@CALT CSEG CALLT0 ; Sub-Routines created by CC78K0R ROM_CODE CSEG BASE bs_S0172: clrb a ;[INF] 1, 1 onew bc ;[INF] 1, 1 subw ax,#00H ; 0 ;[INF] 3, 1 ret ;[INF] 1, 6 es_S0172: ROM_CODE CSEG BASE bs_S0173: mov x,!_vreg_ctr+40 ;[INF] 3, 1 clrb a ;[INF] 1, 1 movw TDR03,ax ;[INF] 2, 1 ret ;[INF] 1, 6 es_S0173: ROM_CODE CSEG BASE bs_S0174: mov x,!_vreg_ctr+40 ;[INF] 3, 1 clrb a ;[INF] 1, 1 movw TDR05,ax ;[INF] 2, 1 ret ;[INF] 1, 6 es_S0174: ROM_CODE CSEG BASE bs_S0175: mov x,!_vreg_ctr+40 ;[INF] 3, 1 clrb a ;[INF] 1, 1 movw TDR02,ax ;[INF] 2, 1 ret ;[INF] 1, 6 es_S0175: ; *** Sub-Routine Information *** ; ; $SUB bs_S0172 ; CODE SIZE= 6 bytes ; ; $SUB bs_S0173 ; CODE SIZE= 7 bytes ; ; $SUB bs_S0174 ; CODE SIZE= 7 bytes ; ; $SUB bs_S0175 ; CODE SIZE= 7 bytes ; End of Sub-Routines ; line 1 : /* ======================================================== ; line 2 : LED.c ; line 3 : ; line 4 : ======================================================== */ ; line 5 : #pragma sfr ; line 6 : ; line 7 : ; line 8 : #include "incs.h" ; line 9 : #include "led.h" ; line 10 : ; line 11 : ; line 12 : ; line 13 : // ======================================================== ; line 14 : // TPS0 ; line 15 : #define BIT_PRS012 ( 1 << 2 ) ; line 16 : #define BIT_PRS002 ( 1 << 6 ) ; line 17 : ; line 18 : // TMR0 ; line 19 : #define BIT_CKS0 15 ; line 20 : #define BIT_CCS0 12 ; line 21 : #define BIT_MASTER0 11 ; line 22 : #define BIT_STS0 8 ; line 23 : #define BIT_CIS0 6 ; line 24 : #define BIT_MD123 1 ; line 25 : #define BIT_MD0 0 ; line 26 : ; line 27 : // ======================================================== ; line 28 : static void led_pow_normal( ); ; line 29 : static void led_pow_hotaru( ); ; line 30 : ; line 31 : ; line 32 : ; line 33 : // ======================================================== ; line 34 : static const char MSG_MAIL[] = { 0b11110110, 0b11011010, 0b01101 ; 110, 0b10010100 }; ; line 35 : #define MSG_SPD 60 ; line 36 : // ↑255/3以下であること! ; line 37 : ; line 38 : // ======================================================== ; line 39 : void LED_init( ) ; line 40 : { ROM_CODE CSEG BASE _LED_init: $DGL 1,77 ??bf_LED_init: ; line 41 : /** ; line 42 : PWMのセット、とりあえず全部消灯 ; line 43 : ; line 44 : マスタチャネル:0 (P01:/reset2) マスターは偶数チャネルしかで ; きない ; line 45 : スレーブ    1 SLTO。(3D LED?) ; line 46 :         2 カメラ ; line 47 :         3 WiFi ; line 48 :         4 (ピンはRTC32kHz out に使用) ; line 49 :         5 充電 ; line 50 :         6 電源 L ; line 51 :         7 電源 H ; line 52 : */ ; line 53 : TAU0EN = 1; $DGL 0,14 set1 !PER2.0 ;[INF] 4, 2 ; line 54 : TPS0 = BIT_PRS012 | BIT_PRS002; // マスタークロックはCK0 ; 1,8M/2 /2^4 = 250kHz $DGL 0,15 movw ax,#044H ; 68 ;[INF] 3, 1 movw !TPS0,ax ;[INF] 3, 1 ; line 55 : ; line 56 : TMR00 = ; line 57 : 1 << BIT_CKS0 | 0 << BIT_CCS0 | 1 << BIT_MASTER0 | 0 << ; BIT_STS0 | 0 ; line 58 : << BIT_CIS0 | 0 << BIT_MD123 | 1 << BIT_MD0; $DGL 0,19 movw ax,#08801H ; -30719 ;[INF] 3, 1 movw !TMR00,ax ;[INF] 3, 1 ; line 59 : TMR01 = TMR02 = TMR03 = TMR04 = TMR05 = TMR06 = TMR07 = ; line 60 : 1 << BIT_CKS0 | 0 << BIT_CCS0 | 0 << BIT_MASTER0 | 4 << ; BIT_STS0 | 0 ; line 61 : << BIT_CIS0 | 4 << BIT_MD123 | 1 << BIT_MD0; $DGL 0,22 movw ax,#08409H ; -31735 ;[INF] 3, 1 movw !TMR07,ax ;[INF] 3, 1 movw !TMR06,ax ;[INF] 3, 1 movw !TMR05,ax ;[INF] 3, 1 movw !TMR04,ax ;[INF] 3, 1 movw !TMR03,ax ;[INF] 3, 1 movw !TMR02,ax ;[INF] 3, 1 movw !TMR01,ax ;[INF] 3, 1 ; line 62 : ISC = 0; $DGL 0,23 clrb !ISC ;[INF] 3, 1 ; line 63 : TOM0 = 0b0000000011111110; // 出力モード。4はPWM出力しないが ; 1にしないとTO5以降にクロックが届かない $DGL 0,24 movw ax,#0FEH ; 254 ;[INF] 3, 1 movw !TOM0,ax ;[INF] 3, 1 ; line 64 : ; line 65 : #ifdef _MCU_BSR_ ; line 66 : TOL0 = 0b0000000000000000; // 出力を反転させるかフラグ $DGL 0,27 clrw ax ;[INF] 1, 1 movw !TOL0,ax ;[INF] 3, 1 ; line 67 : #else ; line 68 : TOL0 = 0b0000000000000100; // 出力を反転させるかフラグ ; line 69 : #endif ; line 70 : ; line 71 : TO0 = 0; // タイマー動作中で、タイマー出力 ; にしてないときのピンのラッチ。タイマー出力を使わないなら0 $DGL 0,32 movw !TO0,ax ;[INF] 3, 1 ; line 72 : TOE0 = 0b0000000011101110; // TOxをタイマーモジュールが制御? $DGL 0,33 mov x,#0EEH ; 238 ;[INF] 2, 1 movw !TOE0,ax ;[INF] 3, 1 ; line 73 : TS0 = 0b0000000011101111; // 動作開始 $DGL 0,34 incw ax ;[INF] 1, 1 movw !TS0,ax ;[INF] 3, 1 ; line 74 : ; line 75 : TDR00 = LED_BRIGHT_MAX - 1; // 10bit, 周期 $DGL 0,36 movw TDR00,#0FEH ; 254 ;[INF] 4, 1 ; line 76 : ; line 77 : if( system_status.reboot ) $DGL 0,38 mov a,!_system_status+2 ;[INF] 3, 1 bf a.3,$?L0003 ;[INF] 3, 5 ; line 78 : { ??bb00_LED_init: ; line 79 : vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_AUTO; $DGL 0,40 clrb !_vreg_ctr+41 ;[INF] 3, 1 ; line 80 : LED_duty_pow_H = LED_BRIGHT_MAX; $DGL 0,41 movw TDR06,#0FFH ; 255 ;[INF] 4, 1 ??eb00_LED_init: ; line 81 : } ?L0003: ; line 82 : } $DGL 0,43 ??ef_LED_init: ret ;[INF] 1, 6 ??ee_LED_init: ; line 83 : ; line 84 : ; line 85 : ; line 86 : void LED_stop( ) ; line 87 : { _LED_stop: $DGL 1,87 ??bf_LED_stop: ; line 88 : TT0 = 0b0000000011101111; // 一斉停止(しないとだめ) $DGL 0,2 movw ax,#0EFH ; 239 ;[INF] 3, 1 movw !TT0,ax ;[INF] 3, 1 ; line 89 : TOE0 = 0b0000000000000000; // TOxをタイマーモジュールが制御? ; (GPIOになる) $DGL 0,3 clrw ax ;[INF] 1, 1 movw !TOE0,ax ;[INF] 3, 1 ; line 90 : TAU0EN = 0; $DGL 0,4 clr1 !PER2.0 ;[INF] 4, 2 ; line 91 : } $DGL 0,5 ??ef_LED_stop: ret ;[INF] 1, 6 ??ee_LED_stop: ; line 92 : ; line 93 : ; line 94 : ; line 95 : ; line 96 : /* ======================================================== ; line 97 : // 電源LED ; line 98 : LED_POW_B,R 6,7 ; line 99 : ; line 100 : TDR00 周期(0x03FF。TPS0で250kHzでカウントアップ。10bitなら250 ; Hz位になる) ; line 101 : TDR0x Duty 0で消灯、TDR00(より大 =0x03FF以上)で点灯です。 ; line 102 : ; line 103 : enum pwr_state_{ ; line 104 : OFF_TRIG = 0, ; line 105 : OFF, ; line 106 : ON_TRIG, ; line 107 : ON, ; line 108 : SLEEP_TRIG, ; line 109 : SLEEP ; line 110 : }; ; line 111 : ; line 112 : enum LED_ILUM_MODE{ ; line 113 : LED_POW_ILM_AUTO, ; line 114 : LED_POW_ILM_ON, ; line 115 : LED_POW_ILM_HOTARU, ; line 116 : LED_POW_ILM_CEOFF ; line 117 : }; ; line 118 : ======================================================== */ ; line 119 : void tsk_led_pow( ) ; line 120 : { _tsk_led_pow: $DGL 1,93 ??bf_tsk_led_pow: ; line 121 : switch ( vreg_ctr[VREG_C_LED_POW] ) $DGL 0,2 mov x,!_vreg_ctr+41 ;[INF] 3, 1 call !bs_S0172 ;[INF] 3, 3 bz $?L0010 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0013 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0012 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0011 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0015 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0016 ;[INF] 2, 4 br $?L0013 ;[INF] 2, 3 ; line 122 : { ??bb00_tsk_led_pow: ; line 123 : // 自動切り替え ; line 124 : case ( LED_POW_ILM_AUTO ): ?L0010: ; line 125 : switch ( system_status.pwr_state ) $DGL 0,6 mov a,!_system_status ;[INF] 3, 1 sarw ax,8 ;[INF] 2, 1 subw ax,#03H ; 3 ;[INF] 3, 1 bz $?L0021 ;[INF] 2, 4 subw ax,#02H ; 2 ;[INF] 3, 1 bnz $?L0009 ;[INF] 2, 4 ; line 126 : { ??bb01_tsk_led_pow: ; line 127 : case SLEEP: ; line 128 : led_pow_hotaru( ); $DGL 0,9 call !_led_pow_hotaru ;[INF] 3, 3 ; line 129 : break; $DGL 0,10 ret ;[INF] 1, 6 ; line 130 : ; line 131 : case ON: ?L0021: ; line 132 : led_pow_normal( ); $DGL 0,13 call !_led_pow_normal ;[INF] 3, 3 ; line 133 : break; $DGL 0,14 ret ;[INF] 1, 6 ; line 134 : ; line 135 : default: ; line 136 : break; ??eb01_tsk_led_pow: ; line 137 : } ; line 138 : break; ; line 139 : ; line 140 : // 強制 ; line 141 : case ( LED_POW_ILM_OFF ): ?L0011: ; line 142 : LED_duty_pow_H -= ( LED_duty_pow_H == 0x0000 ) ? 0 : 1; $DGL 0,23 clrw ax ;[INF] 1, 1 cmpw ax,!TDR06 ;[INF] 3, 1 skz ;[INF] 2, 1 onew ax ;[INF] 1, 1 ?L0026: movw bc,ax ;[INF] 1, 1 movw ax,TDR06 ;[INF] 2, 1 subw ax,bc ;[INF] 1, 1 movw TDR06,ax ;[INF] 2, 1 ; line 143 : LED_duty_pow_L -= ( LED_duty_pow_L == 0x0000 ) ? 0 : 1; $DGL 0,24 clrw ax ;[INF] 1, 1 cmpw ax,!TDR07 ;[INF] 3, 1 skz ;[INF] 2, 1 onew ax ;[INF] 1, 1 ?L0028: movw bc,ax ;[INF] 1, 1 movw ax,TDR07 ;[INF] 2, 1 subw ax,bc ;[INF] 1, 1 movw TDR07,ax ;[INF] 2, 1 ; line 144 : break; $DGL 0,25 ret ;[INF] 1, 6 ; line 145 : ; line 146 : case ( LED_POW_ILM_HOTARU ): ?L0012: ; line 147 : led_pow_hotaru( ); $DGL 0,28 call !_led_pow_hotaru ;[INF] 3, 3 ; line 148 : break; $DGL 0,29 ret ;[INF] 1, 6 ; line 149 : ; line 150 : case ( LED_POW_ILM_ON ): ?L0013: ; line 151 : default: ; line 152 : led_pow_normal( ); $DGL 0,33 call !_led_pow_normal ;[INF] 3, 3 ; line 153 : break; $DGL 0,34 ret ;[INF] 1, 6 ; line 154 : ; line 155 : case ( LED_POW_ILM_ONLY_RED ): ?L0015: ; line 156 : LED_duty_pow_H = 0x0000; $DGL 0,37 clrw ax ;[INF] 1, 1 movw TDR06,ax ;[INF] 2, 1 ; line 157 : LED_duty_pow_L = LED_BRIGHT_MAX; $DGL 0,38 movw TDR07,#0FFH ; 255 ;[INF] 4, 1 ; line 158 : break; $DGL 0,39 ret ;[INF] 1, 6 ; line 159 : ; line 160 : case ( LED_POW_ILM_ONLY_BLUE ): ?L0016: ; line 161 : LED_duty_pow_H = LED_BRIGHT_MAX; $DGL 0,42 movw TDR06,#0FFH ; 255 ;[INF] 4, 1 ; line 162 : LED_duty_pow_L = 0x0000; $DGL 0,43 clrw ax ;[INF] 1, 1 movw TDR07,ax ;[INF] 2, 1 ; line 163 : break; ??eb00_tsk_led_pow: ; line 164 : } ?L0009: ; line 165 : ; line 166 : } $DGL 0,47 ??ef_tsk_led_pow: ret ;[INF] 1, 6 ??ee_tsk_led_pow: ; line 167 : ; line 168 : ; line 169 : ; line 170 : /* ======================================================== ; line 171 : 電池残量で、 青→赤→赤点滅 ; line 172 : ======================================================== */ ; line 173 : static void led_pow_normal( ) ; line 174 : { _led_pow_normal: $DGL 1,107 ??bf_led_pow_normal: ; line 175 : static u8 state; ; line 176 : ; line 177 : if( vreg_ctr[VREG_C_BT_REMAIN] < 3 ) $DGL 0,4 cmp !_vreg_ctr+11,#03H ; 3 ;[INF] 4, 1 bnc $?L0032 ;[INF] 2, 4 ; line 178 : { ??bb00_led_pow_normal: ; line 179 : // 赤点滅 ; line 180 : state++; $DGL 0,7 inc !?L0031 ; state ;[INF] 3, 2 ; line 181 : if( state < 127 ) $DGL 0,8 cmp !?L0031,#07FH ; state,127 ;[INF] 4, 1 bnc $?L0034 ;[INF] 2, 4 ; line 182 : { ??bb01_led_pow_normal: ; line 183 : LED_duty_pow_H = 0x0000; $DGL 0,10 clrw ax ;[INF] 1, 1 movw TDR06,ax ;[INF] 2, 1 ; line 184 : LED_duty_pow_L = 0x0000; $DGL 0,11 movw TDR07,ax ;[INF] 2, 1 ??eb01_led_pow_normal: ; line 185 : } $DGL 0,12 br $?L0035 ;[INF] 2, 3 ?L0034: ; line 186 : else ; line 187 : { ??bb02_led_pow_normal: ; line 188 : LED_duty_pow_L = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,15 mov x,!_vreg_ctr+40 ;[INF] 3, 1 clrb a ;[INF] 1, 1 movw TDR07,ax ;[INF] 2, 1 ??eb02_led_pow_normal: ; line 189 : } ?L0035: ; line 190 : return; $DGL 0,17 ret ;[INF] 1, 6 ??eb00_led_pow_normal: ; line 191 : ; line 192 : } ?L0032: ; line 193 : else if( vreg_ctr[VREG_C_BT_REMAIN] < 12 ) $DGL 0,20 cmp !_vreg_ctr+11,#0CH ; 12 ;[INF] 4, 1 bnc $?L0036 ;[INF] 2, 4 ; line 194 : { ??bb03_led_pow_normal: ; line 195 : // 赤点灯 ; line 196 : if( LED_duty_pow_H != 0x0000 ) $DGL 0,23 clrw ax ;[INF] 1, 1 cmpw ax,!TDR06 ;[INF] 3, 1 skz ;[INF] 2, 1 ; line 197 : { // 青フェードアウト ??bb04_led_pow_normal: ; line 198 : LED_duty_pow_H -= 1; $DGL 0,25 decw !TDR06 ;[INF] 3, 2 ??eb04_led_pow_normal: ; line 199 : } ?L0038: ; line 200 : if( LED_duty_pow_L != vreg_ctr[VREG_C_LED_BRIGHT] ) $DGL 0,27 mov x,!_vreg_ctr+40 ;[INF] 3, 1 clrb a ;[INF] 1, 1 cmpw ax,!TDR07 ;[INF] 3, 1 bz $?L0048 ;[INF] 2, 4 ; line 201 : { // 赤フェードイン ??bb05_led_pow_normal: ; line 202 : LED_duty_pow_L += ( LED_duty_pow_L < vreg_ctr[VREG_C ; _LED_BRIGHT] ) ? 1 : -1; $DGL 0,29 mov x,!_vreg_ctr+40 ;[INF] 3, 1 movw bc,ax ;[INF] 1, 1 movw ax,TDR07 ;[INF] 2, 1 cmpw ax,bc ;[INF] 1, 1 bnc $?L0042 ;[INF] 2, 4 onew ax ;[INF] 1, 1 br $?L0043 ;[INF] 2, 3 ?L0042: clrw ax ;[INF] 1, 1 decw ax ;[INF] 1, 1 ?L0043: movw bc,ax ;[INF] 1, 1 movw ax,TDR07 ;[INF] 2, 1 addw ax,bc ;[INF] 1, 1 movw TDR07,ax ;[INF] 2, 1 ??eb05_led_pow_normal: ; line 203 : } ; line 204 : return; $DGL 0,31 ret ;[INF] 1, 6 ??eb03_led_pow_normal: ; line 205 : ; line 206 : } ?L0036: ; line 207 : else ; line 208 : { ??bb06_led_pow_normal: ; line 209 : // 青点灯 ; line 210 : if( LED_duty_pow_H != vreg_ctr[VREG_C_LED_BRIGHT] ) $DGL 0,37 mov x,!_vreg_ctr+40 ;[INF] 3, 1 clrb a ;[INF] 1, 1 cmpw ax,!TDR06 ;[INF] 3, 1 bz $?L0044 ;[INF] 2, 4 ; line 211 : { ??bb07_led_pow_normal: ; line 212 : LED_duty_pow_H += ( LED_duty_pow_H < vreg_ctr[VREG_C ; _LED_BRIGHT] ) ? 1 : -1; $DGL 0,39 mov x,!_vreg_ctr+40 ;[INF] 3, 1 movw bc,ax ;[INF] 1, 1 movw ax,TDR06 ;[INF] 2, 1 cmpw ax,bc ;[INF] 1, 1 bnc $?L0046 ;[INF] 2, 4 onew ax ;[INF] 1, 1 br $?L0047 ;[INF] 2, 3 ?L0046: clrw ax ;[INF] 1, 1 decw ax ;[INF] 1, 1 ?L0047: movw bc,ax ;[INF] 1, 1 movw ax,TDR06 ;[INF] 2, 1 addw ax,bc ;[INF] 1, 1 movw TDR06,ax ;[INF] 2, 1 ??eb07_led_pow_normal: ; line 213 : } ?L0044: ; line 214 : if( LED_duty_pow_L != 0x0000 ) $DGL 0,41 clrw ax ;[INF] 1, 1 cmpw ax,!TDR07 ;[INF] 3, 1 skz ;[INF] 2, 1 ; line 215 : { ??bb08_led_pow_normal: ; line 216 : LED_duty_pow_L -= 1; $DGL 0,43 decw !TDR07 ;[INF] 3, 2 ??eb08_led_pow_normal: ; line 217 : } ?L0048: ??eb06_led_pow_normal: ; line 218 : } ; line 219 : ; line 220 : return; ; line 221 : } $DGL 0,48 ??ef_led_pow_normal: ret ;[INF] 1, 6 ??ee_led_pow_normal: ; line 222 : ; line 223 : ; line 224 : ; line 225 : /* ======================================================== ; line 226 : ホタルパターン ; line 227 : ======================================================== */ ; line 228 : static void led_pow_hotaru( ) ; line 229 : { _led_pow_hotaru: $DGL 1,150 ??bf_led_pow_hotaru: ; line 230 : static u8 delay; ; line 231 : static u8 state; ; line 232 : static u16 blue_to; ; line 233 : static u16 red_to; ; line 234 : ; line 235 : if( delay != 0 ) $DGL 0,7 cmp0 !?L0052 ; delay ;[INF] 3, 1 bz $?L0056 ;[INF] 2, 4 ; line 236 : { ??bb00_led_pow_hotaru: ; line 237 : delay -= 1; $DGL 0,9 dec !?L0052 ; delay ;[INF] 3, 2 ; line 238 : return; $DGL 0,10 ret ;[INF] 1, 6 ??eb00_led_pow_hotaru: ; line 239 : } ?L0056: ; line 240 : else ; line 241 : { ??bb01_led_pow_hotaru: ; line 242 : delay = 10; $DGL 0,14 mov !?L0052,#0AH ; delay,10 ;[INF] 4, 1 ??eb01_led_pow_hotaru: ; line 243 : } ; line 244 : ; line 245 : if( LED_duty_pow_L != red_to ) $DGL 0,17 movw ax,TDR07 ;[INF] 2, 1 cmpw ax,!?L0055 ; red_to ;[INF] 3, 1 bz $?L0061 ;[INF] 2, 4 ; line 246 : { ??bb02_led_pow_hotaru: ; line 247 : if( LED_duty_pow_L > red_to ) $DGL 0,19 movw ax,!?L0055 ; red_to ;[INF] 3, 1 cmpw ax,!TDR07 ;[INF] 3, 1 bnc $?L0060 ;[INF] 2, 4 ; line 248 : { ??bb03_led_pow_hotaru: ; line 249 : LED_duty_pow_L -= 1; $DGL 0,21 decw !TDR07 ;[INF] 3, 2 ??eb03_led_pow_hotaru: ; line 250 : } $DGL 0,22 br $?L0061 ;[INF] 2, 3 ?L0060: ; line 251 : else ; line 252 : { ??bb04_led_pow_hotaru: ; line 253 : LED_duty_pow_L += 2; $DGL 0,25 movw ax,TDR07 ;[INF] 2, 1 incw ax ;[INF] 1, 1 incw ax ;[INF] 1, 1 movw TDR07,ax ;[INF] 2, 1 ??eb04_led_pow_hotaru: ; line 254 : } ?L0061: ??eb02_led_pow_hotaru: ; line 255 : } ; line 256 : ; line 257 : if( LED_duty_pow_H != blue_to ) $DGL 0,29 movw ax,TDR06 ;[INF] 2, 1 cmpw ax,!?L0054 ; blue_to ;[INF] 3, 1 bz $?L0065 ;[INF] 2, 4 ; line 258 : { ??bb05_led_pow_hotaru: ; line 259 : if( LED_duty_pow_H > blue_to ) $DGL 0,31 movw ax,!?L0054 ; blue_to ;[INF] 3, 1 cmpw ax,!TDR06 ;[INF] 3, 1 bnc $?L0064 ;[INF] 2, 4 ; line 260 : { ??bb06_led_pow_hotaru: ; line 261 : LED_duty_pow_H -= 1; $DGL 0,33 decw !TDR06 ;[INF] 3, 2 ??eb06_led_pow_hotaru: ; line 262 : } $DGL 0,34 br $?L0065 ;[INF] 2, 3 ?L0064: ; line 263 : else ; line 264 : { ??bb07_led_pow_hotaru: ; line 265 : LED_duty_pow_H += 2; $DGL 0,37 movw ax,TDR06 ;[INF] 2, 1 incw ax ;[INF] 1, 1 incw ax ;[INF] 1, 1 movw TDR06,ax ;[INF] 2, 1 ??eb07_led_pow_hotaru: ; line 266 : } ?L0065: ??eb05_led_pow_hotaru: ; line 267 : } ; line 268 : ; line 269 : switch ( state ) $DGL 0,41 mov x,!?L0053 ; state ;[INF] 3, 1 clrb a ;[INF] 1, 1 clrw bc ;[INF] 1, 1 movw de,#02H ; 2 ;[INF] 3, 1 subw ax,bc ;[INF] 1, 1 bz $?L0067 ;[INF] 2, 4 subw ax,de ;[INF] 1, 1 bz $?L0067 ;[INF] 2, 4 subw ax,de ;[INF] 1, 1 bnz $?L0068 ;[INF] 2, 4 ; line 270 : { ??bb08_led_pow_hotaru: ; line 271 : // フェードイン ; line 272 : case ( 0 ): ?L0067: ; line 273 : case ( 2 ): ; line 274 : case ( 4 ): ; line 275 : if( vreg_ctr[VREG_C_BT_REMAIN] < 12 ) $DGL 0,47 cmp !_vreg_ctr+11,#0CH ; 12 ;[INF] 4, 1 bnc $?L0071 ;[INF] 2, 4 ; line 276 : { ??bb09_led_pow_hotaru: ; line 277 : // 赤いとき ; line 278 : blue_to = 0; $DGL 0,50 clrw ax ;[INF] 1, 1 movw !?L0054,ax ; blue_to ;[INF] 3, 1 ; line 279 : red_to = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,51 mov x,!_vreg_ctr+40 ;[INF] 3, 1 movw !?L0055,ax ; red_to ;[INF] 3, 1 ??eb09_led_pow_hotaru: ; line 280 : } $DGL 0,52 br $?L0066 ;[INF] 2, 3 ?L0071: ; line 281 : else ; line 282 : { ??bb0A_led_pow_hotaru: ; line 283 : blue_to = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,55 mov x,!_vreg_ctr+40 ;[INF] 3, 1 clrb a ;[INF] 1, 1 movw !?L0054,ax ; blue_to ;[INF] 3, 1 ; line 284 : red_to = 0; $DGL 0,56 clrw ax ;[INF] 1, 1 movw !?L0055,ax ; red_to ;[INF] 3, 1 ??eb0A_led_pow_hotaru: ; line 285 : } ; line 286 : break; $DGL 0,58 br $?L0066 ;[INF] 2, 3 ; line 287 : ; line 288 : default: ?L0068: ; line 289 : // フェードアウト ; line 290 : if( vreg_ctr[VREG_C_BT_REMAIN] < 12 ) $DGL 0,62 cmp !_vreg_ctr+11,#0CH ; 12 ;[INF] 4, 1 bnc $?L0073 ;[INF] 2, 4 ; line 291 : { ??bb0B_led_pow_hotaru: ; line 292 : red_to = 2; $DGL 0,64 onew ax ;[INF] 1, 1 incw ax ;[INF] 1, 1 movw !?L0055,ax ; red_to ;[INF] 3, 1 ??eb0B_led_pow_hotaru: ; line 293 : } $DGL 0,65 br $?L0066 ;[INF] 2, 3 ?L0073: ; line 294 : else ; line 295 : { ??bb0C_led_pow_hotaru: ; line 296 : blue_to = 2; $DGL 0,68 onew ax ;[INF] 1, 1 incw ax ;[INF] 1, 1 movw !?L0054,ax ; blue_to ;[INF] 3, 1 ??eb0C_led_pow_hotaru: ; line 297 : } ; line 298 : break; ??eb08_led_pow_hotaru: ; line 299 : } ?L0066: ; line 300 : ; line 301 : if( ( LED_duty_pow_H == blue_to ) && ( LED_duty_pow_L == red ; _to ) ) $DGL 0,73 movw ax,TDR06 ;[INF] 2, 1 cmpw ax,!?L0054 ; blue_to ;[INF] 3, 1 bnz $?L0075 ;[INF] 2, 4 movw ax,TDR07 ;[INF] 2, 1 cmpw ax,!?L0055 ; red_to ;[INF] 3, 1 sknz ;[INF] 2, 1 ; line 302 : { ??bb0D_led_pow_hotaru: ; line 303 : state += 1; $DGL 0,75 inc !?L0053 ; state ;[INF] 3, 2 ??eb0D_led_pow_hotaru: ; line 304 : } ?L0075: ; line 305 : return; ; line 306 : } $DGL 0,78 ??ef_led_pow_hotaru: ret ;[INF] 1, 6 ??ee_led_pow_hotaru: ; line 307 : ; line 308 : ; line 309 : ; line 310 : /* ======================================================== ; line 311 : * 割り込みそのものは使いません * ; line 312 : LED_Wifi 3 ; line 313 : todo 直書きの点滅間隔など ; line 314 : ======================================================== */ ; line 315 : void tsk_led_wifi( ) ; line 316 : { _tsk_led_wifi: $DGL 1,216 ??bf_tsk_led_wifi: ; line 317 : static u8 task_interval; ; line 318 : static u8 remain_wifi_tx; ; line 319 : static u8 state_wifi_tx; ; line 320 : static u8 flag_wifi_TX; ; line 321 : ; line 322 : ; line 323 : if( task_interval-- != 0 ) $DGL 0,8 mov a,!?L0079 ; task_interval ;[INF] 3, 1 dec !?L0079 ; task_interval ;[INF] 3, 2 cmp0 a ;[INF] 1, 1 bnz $?L0089 ;[INF] 2, 4 ; line 324 : { ??bb00_tsk_led_wifi: ; line 325 : return; ??eb00_tsk_led_wifi: ; line 326 : } ; line 327 : ; line 328 : // 送信パルスのラッチ ; line 329 : if( vreg_ctr[VREG_C_LED_WIFI] == WIFI_LED_TXAUTO ) $DGL 0,14 cmp !_vreg_ctr+42,#02H ; 2 ;[INF] 4, 1 bnz $?L0085 ;[INF] 2, 4 ; line 330 : { ??bb01_tsk_led_wifi: ; line 331 : if( WIFI_txLatch ) $DGL 0,16 bf IF2H.5,$?L0086 ;[INF] 4, 5 ; line 332 : { ??bb02_tsk_led_wifi: ; line 333 : WIFI_txLatch = 0; $DGL 0,18 clr1 IF2H.5 ;[INF] 3, 2 ; line 334 : flag_wifi_TX = 2; $DGL 0,19 mov !?L0082,#02H ; flag_wifi_TX,2 ;[INF] 4, 1 ??eb02_tsk_led_wifi: ; line 335 : } ; line 336 : } $DGL 0,21 ??eb01_tsk_led_wifi: br $?L0086 ;[INF] 2, 3 ?L0085: ; line 337 : else ; line 338 : { ??bb03_tsk_led_wifi: ; line 339 : flag_wifi_TX = 0; $DGL 0,24 clrb !?L0082 ; flag_wifi_TX ;[INF] 3, 1 ??eb03_tsk_led_wifi: ; line 340 : } ?L0086: ; line 341 : ; line 342 : ; line 343 : switch ( vreg_ctr[VREG_C_LED_WIFI] ) $DGL 0,28 mov x,!_vreg_ctr+42 ;[INF] 3, 1 call !bs_S0172 ;[INF] 3, 3 bz $?L0090 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0092 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0093 ;[INF] 2, 4 ; line 344 : { ??bb04_tsk_led_wifi: ; line 345 : case ( WIFI_LED_OFF ): ?L0090: ; line 346 : default: ; line 347 : LED_duty_WiFi = 0; $DGL 0,32 clrw ax ;[INF] 1, 1 movw TDR03,ax ;[INF] 2, 1 ; line 348 : state_wifi_tx = 0; $DGL 0,33 clrb !?L0081 ; state_wifi_tx ;[INF] 3, 1 ; line 349 : remain_wifi_tx = 0; $DGL 0,34 clrb !?L0080 ; remain_wifi_tx ;[INF] 3, 1 ; line 350 : break; $DGL 0,35 ret ;[INF] 1, 6 ; line 351 : ; line 352 : case ( WIFI_LED_ON ): ?L0092: ; line 353 : LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,38 call !bs_S0173 ;[INF] 3, 3 ; line 354 : state_wifi_tx = 0; $DGL 0,39 clrb !?L0081 ; state_wifi_tx ;[INF] 3, 1 ; line 355 : remain_wifi_tx = 0; $DGL 0,40 clrb !?L0080 ; remain_wifi_tx ;[INF] 3, 1 ; line 356 : break; $DGL 0,41 ret ;[INF] 1, 6 ; line 357 : ; line 358 : case ( WIFI_LED_TXAUTO ): ?L0093: ; line 359 : if( flag_wifi_TX != 0 ) // 短いパルスを捕まえるために、割 ; り込みフラグを見る $DGL 0,44 cmp0 !?L0082 ; flag_wifi_TX ;[INF] 3, 1 bz $?L0096 ;[INF] 2, 4 ; line 360 : { ??bb05_tsk_led_wifi: ; line 361 : // 送信パターン ; line 362 : switch ( state_wifi_tx ) $DGL 0,47 mov x,!?L0081 ; state_wifi_tx ;[INF] 3, 1 clrb a ;[INF] 1, 1 onew bc ;[INF] 1, 1 movw de,#02H ; 2 ;[INF] 3, 1 subw ax,bc ;[INF] 1, 1 bz $?L0099 ;[INF] 2, 4 subw ax,de ;[INF] 1, 1 bz $?L0099 ;[INF] 2, 4 subw ax,de ;[INF] 1, 1 bnz $?L0100 ;[INF] 2, 4 ; line 363 : { ??bb06_tsk_led_wifi: ; line 364 : case ( 1 ): ?L0099: ; line 365 : case ( 3 ): ; line 366 : case ( 5 ): ; line 367 : LED_duty_WiFi = 0; $DGL 0,52 clrw ax ;[INF] 1, 1 movw TDR03,ax ;[INF] 2, 1 ; line 368 : break; $DGL 0,53 br $?L0098 ;[INF] 2, 3 ; line 369 : default: ?L0100: ; line 370 : LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,55 call !bs_S0173 ;[INF] 3, 3 ??eb06_tsk_led_wifi: ; line 371 : } ?L0098: ; line 372 : state_wifi_tx++; $DGL 0,57 inc !?L0081 ; state_wifi_tx ;[INF] 3, 2 ; line 373 : if( state_wifi_tx == 32 ) $DGL 0,58 cmp !?L0081,#020H ; state_wifi_tx,32 ;[INF] 4, 1 bnz $?L0103 ;[INF] 2, 4 ; line 374 : { ??bb07_tsk_led_wifi: ; line 375 : state_wifi_tx = 0; $DGL 0,60 clrb !?L0081 ; state_wifi_tx ;[INF] 3, 1 ; line 376 : flag_wifi_TX -= 1; $DGL 0,61 dec !?L0082 ; flag_wifi_TX ;[INF] 3, 2 ??eb07_tsk_led_wifi: ; line 377 : } ?L0103: ; line 378 : task_interval = 22; $DGL 0,63 mov !?L0079,#016H ; task_interval,22 ;[INF] 4, 1 ; line 379 : return; $DGL 0,64 ret ;[INF] 1, 6 ??eb05_tsk_led_wifi: ; line 380 : } ?L0096: ; line 381 : else ; line 382 : { ??bb08_tsk_led_wifi: ; line 383 : // 送信フラグ待ち ; line 384 : LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,69 call !bs_S0173 ;[INF] 3, 3 ; line 385 : task_interval = 200; $DGL 0,70 mov !?L0079,#0C8H ; task_interval,200 ;[INF] 4, 1 ; line 386 : return; ??eb08_tsk_led_wifi: ; line 387 : } ; line 388 : break; ??eb04_tsk_led_wifi: ; line 389 : ; line 390 : } ?L0089: ; line 391 : } $DGL 0,76 ??ef_tsk_led_wifi: ret ;[INF] 1, 6 ??ee_tsk_led_wifi: ; line 392 : ; line 393 : ; line 394 : ; line 395 : ; line 396 : /* ======================================================== ; line 397 : * 割り込みそのものは使いません * ; line 398 : LED_Wifi2 P24 (未) ; line 399 : ======================================================== */ ; line 400 : void tsk_led_notify( ) ; line 401 : { _tsk_led_notify: $DGL 1,262 push hl ;[INF] 1, 1 ??bf_tsk_led_notify: ; line 402 : static u8 task_interval; ; line 403 : static u8 flg_char_space; ; line 404 : static u8 state_notify_led; // 点灯パターンの進行具合 ; line 405 : static u8 flag_wifi_TX; ; line 406 : ; line 407 : ; line 408 : if( task_interval-- != 0 ) $DGL 0,8 mov a,!?L0107 ; task_interval ;[INF] 3, 1 dec !?L0107 ; task_interval ;[INF] 3, 2 cmp0 a ;[INF] 1, 1 skz ;[INF] 2, 1 br !?L0135 ;[INF] 3, 3 ; line 409 : { ??bb00_tsk_led_notify: ; line 410 : return; ??eb00_tsk_led_notify: ; line 411 : } ; line 412 : ; line 413 : switch ( vreg_ctr[VREG_C_LED_NOTIFY] ) $DGL 0,13 mov x,!_vreg_ctr+45 ;[INF] 3, 1 call !bs_S0172 ;[INF] 3, 3 bz $?L0114 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0116 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0117 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0118 ;[INF] 2, 4 ; line 414 : { ??bb01_tsk_led_notify: ; line 415 : case ( NOTIFY_LED_OFF ): ?L0114: ; line 416 : default: ; line 417 : LED_duty_NOTIFY = 0; $DGL 0,17 clrw ax ;[INF] 1, 1 movw TDR05,ax ;[INF] 2, 1 ; line 418 : state_notify_led = 0; $DGL 0,18 clrb !?L0109 ; state_notify_led ;[INF] 3, 1 ; line 419 : flg_char_space = 0; $DGL 0,19 clrb !?L0108 ; flg_char_space ;[INF] 3, 1 ; line 420 : break; $DGL 0,20 br !?L0135 ;[INF] 3, 3 ; line 421 : ; line 422 : case ( NOTIFY_LED_ON ): ?L0116: ; line 423 : LED_duty_NOTIFY = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,23 call !bs_S0174 ;[INF] 3, 3 ; line 424 : state_notify_led = 0; $DGL 0,24 clrb !?L0109 ; state_notify_led ;[INF] 3, 1 ; line 425 : flg_char_space = 0; $DGL 0,25 clrb !?L0108 ; flg_char_space ;[INF] 3, 1 ; line 426 : break; $DGL 0,26 br !?L0135 ;[INF] 3, 3 ; line 427 : ; line 428 : case ( NOTIFY_LED_PTN0 ): ?L0117: ; line 429 : // ゆっくりバースト ; line 430 : switch ( state_notify_led ) $DGL 0,30 mov x,!?L0109 ; state_notify_led ;[INF] 3, 1 clrb a ;[INF] 1, 1 onew bc ;[INF] 1, 1 movw de,#02H ; 2 ;[INF] 3, 1 subw ax,bc ;[INF] 1, 1 bz $?L0122 ;[INF] 2, 4 subw ax,de ;[INF] 1, 1 bz $?L0122 ;[INF] 2, 4 subw ax,de ;[INF] 1, 1 bnz $?L0123 ;[INF] 2, 4 ; line 431 : { ??bb02_tsk_led_notify: ; line 432 : case ( 1 ): ?L0122: ; line 433 : case ( 3 ): ; line 434 : case ( 5 ): ; line 435 : LED_duty_NOTIFY = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,35 call !bs_S0174 ;[INF] 3, 3 ; line 436 : break; $DGL 0,36 br $?L0121 ;[INF] 2, 3 ; line 437 : default: ?L0123: ; line 438 : LED_duty_NOTIFY = 0; $DGL 0,38 clrw ax ;[INF] 1, 1 movw TDR05,ax ;[INF] 2, 1 ??eb02_tsk_led_notify: ; line 439 : } ?L0121: ; line 440 : state_notify_led++; $DGL 0,40 inc !?L0109 ; state_notify_led ;[INF] 3, 2 ; line 441 : if( state_notify_led == 16 ) $DGL 0,41 cmp !?L0109,#010H ; state_notify_led,16 ;[INF] 4, 1 sknz ;[INF] 2, 1 ; line 442 : { ??bb03_tsk_led_notify: ; line 443 : state_notify_led = 0; $DGL 0,43 clrb !?L0109 ; state_notify_led ;[INF] 3, 1 ??eb03_tsk_led_notify: ; line 444 : } ?L0126: ; line 445 : task_interval = 50; $DGL 0,45 mov !?L0107,#032H ; task_interval,50 ;[INF] 4, 1 ; line 446 : return; $DGL 0,46 br $?L0135 ;[INF] 2, 3 ; line 447 : ; line 448 : case ( NOTIFY_LED_PTN1 ): ?L0118: ; line 449 : // データテーブルに従って点滅 ; line 450 : { ??bb04_tsk_led_notify: ; line 451 : u8 dat; ; line 452 : ; line 453 : task_interval = MSG_SPD; // 共通のため。場合によって ; 上書き $DGL 0,53 mov !?L0107,#03CH ; task_interval,60 ;[INF] 4, 1 ; line 454 : ; line 455 : if( flg_char_space != 0 ) $DGL 0,55 cmp0 !?L0108 ; flg_char_space ;[INF] 3, 1 bz $?L0128 ;[INF] 2, 4 ; line 456 : { ??bb05_tsk_led_notify: ; line 457 : LED_duty_NOTIFY = 0; $DGL 0,57 clrw ax ;[INF] 1, 1 movw TDR05,ax ;[INF] 2, 1 ; line 458 : flg_char_space = 0; $DGL 0,58 clrb !?L0108 ; flg_char_space ;[INF] 3, 1 ; line 459 : return; $DGL 0,59 br $?L0135 ;[INF] 2, 3 ??eb05_tsk_led_notify: ; line 460 : } ?L0128: ; line 461 : ; line 462 : // データバッファの見る位置の更新 ; line 463 : dat = ( MSG_MAIL[state_notify_led / 4] << ( ( state_ ; notify_led % 4 ) * 2 ) ) & 0xC0; $DGL 0,63 mov x,!?L0109 ; state_notify_led ;[INF] 3, 1 clrb a ;[INF] 1, 1 movw _@RTARG0,ax ;[INF] 2, 1 mov x,#04H ; 4 ;[INF] 2, 1 call !@@isrem ;[INF] 3, 3 addw ax,ax ;[INF] 1, 1 xch a,x ;[INF] 1, 1 mov c,a ;[INF] 1, 1 xch a,x ;[INF] 1, 1 mov x,!?L0109 ; state_notify_led ;[INF] 3, 1 clrb a ;[INF] 1, 1 sarw ax,2 ;[INF] 2, 1 addw ax,#loww (_MSG_MAIL) ;[INF] 3, 1 movw de,ax ;[INF] 1, 1 mov a,[de] ;[INF] 1, 1 sarw ax,8 ;[INF] 2, 1 cmp0 c ;[INF] 1, 1 bz $?L0130 ;[INF] 2, 4 ?L0131: addw ax,ax ;[INF] 1, 1 dec c ;[INF] 1, 1 bnz $?L0131 ;[INF] 2, 4 ?L0130: mov a,x ;[INF] 1, 1 and a,#0C0H ; 192 ;[INF] 2, 1 mov l,a ;[INF] 1, 1 ; line 464 : if( dat == 0 ) $DGL 0,64 cmp0 a ;[INF] 1, 1 bnz $?L0132 ;[INF] 2, 4 ; line 465 : { ??bb06_tsk_led_notify: ; line 466 : state_notify_led = 0; $DGL 0,66 clrb !?L0109 ; state_notify_led ;[INF] 3, 1 ??eb06_tsk_led_notify: ; line 467 : } $DGL 0,67 br $?L0133 ;[INF] 2, 3 ?L0132: ; line 468 : else ; line 469 : { ??bb07_tsk_led_notify: ; line 470 : state_notify_led += 1; $DGL 0,70 inc !?L0109 ; state_notify_led ;[INF] 3, 2 ??eb07_tsk_led_notify: ; line 471 : } ?L0133: ; line 472 : ; line 473 : flg_char_space = 1; $DGL 0,73 oneb !?L0108 ; flg_char_space ;[INF] 3, 1 ; line 474 : if(( dat & 0b10000000 ) != 0 ) $DGL 0,74 mov a,l ;[INF] 1, 1 and a,#080H ; 128 ;[INF] 2, 1 cmp0 a ;[INF] 1, 1 bz $?L0134 ;[INF] 2, 4 ; line 475 : { ??bb08_tsk_led_notify: ; line 476 : // 点灯はさせる ; line 477 : LED_duty_NOTIFY = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,77 call !bs_S0174 ;[INF] 3, 3 ; line 478 : if(( dat & 0b01000000 ) == 0 ) $DGL 0,78 mov a,l ;[INF] 1, 1 and a,#040H ; 64 ;[INF] 2, 1 cmp0 a ;[INF] 1, 1 bz $?L0135 ;[INF] 2, 4 ; line 479 : { ??bb09_tsk_led_notify: ??eb09_tsk_led_notify: ; line 480 : // 短 ; line 481 : // nothing to do ; line 482 : } ; line 483 : else ; line 484 : { ??bb0A_tsk_led_notify: ; line 485 : // 長 ; line 486 : task_interval = ( MSG_SPD * 3 ); $DGL 0,86 mov !?L0107,#0B4H ; task_interval,180 ;[INF] 4, 1 ??eb0A_tsk_led_notify: ; line 487 : } ; line 488 : // 次は単語間休み、とかの判定をさせたかったが ; line 489 : /// 1バイトに2ビットずつデータが並んでおり、次 ; のバイトに ; line 490 : /// またがるようなときが面倒なのでやめる ; line 491 : return; $DGL 0,91 br $?L0135 ;[INF] 2, 3 ??eb08_tsk_led_notify: ; line 492 : } ?L0134: ; line 493 : else ; line 494 : { ??bb0B_tsk_led_notify: ; line 495 : if(( dat & 0b01000000 ) == 0 ) $DGL 0,95 mov a,l ;[INF] 1, 1 and a,#040H ; 64 ;[INF] 2, 1 cmp0 a ;[INF] 1, 1 sknz ;[INF] 2, 1 ; line 496 : { ??bb0C_tsk_led_notify: ; line 497 : // 一文終了 ; line 498 : task_interval = ( MSG_SPD * 3 ); $DGL 0,98 mov !?L0107,#0B4H ; task_interval,180 ;[INF] 4, 1 ??eb0C_tsk_led_notify: ; line 499 : } ; line 500 : else ; line 501 : { ??bb0D_tsk_led_notify: ??eb0D_tsk_led_notify: ; line 502 : // 単語間 ; line 503 : // nothing to do ; line 504 : } ; line 505 : return; ??eb0B_tsk_led_notify: ; line 506 : } ?L0135: ??eb04_tsk_led_notify: ; line 507 : } ??eb01_tsk_led_notify: ; line 508 : } ; line 509 : } $DGL 0,109 ??ef_tsk_led_notify: pop hl ;[INF] 1, 1 ret ;[INF] 1, 6 ??ee_tsk_led_notify: ; line 510 : ; line 511 : ; line 512 : ; line 513 : ; line 514 : /******************************************************//** ; line 515 : LED_Cam TO02 ; line 516 : \n BLINK,*_PLUSE の時は、1周期分は必ずその状態になります。 ; line 517 : \n その間に OFF→BLINK などされると、OFFが無視されます。 ; line 518 : *********************************************************/ ; line 519 : void tsk_led_cam( ) ; line 520 : { _tsk_led_cam: $DGL 1,330 ??bf_tsk_led_cam: ; line 521 : static u8 state_led_cam = 0; ; line 522 : static u8 task_interval; ; line 523 : static u8 state_led_cam_twl; ; line 524 : ; line 525 : if( task_interval != 0 ) $DGL 0,6 cmp0 !?L0143 ; task_interval ;[INF] 3, 1 bz $?L0145 ;[INF] 2, 4 ; line 526 : { ??bb00_tsk_led_cam: ; line 527 : task_interval -= 1; $DGL 0,8 dec !?L0143 ; task_interval ;[INF] 3, 2 ; line 528 : return; $DGL 0,9 ret ;[INF] 1, 6 ??eb00_tsk_led_cam: ; line 529 : } ?L0145: ; line 530 : ; line 531 : // ブリンクのように待たせたいとき以外は毎週起動する ; line 532 : // (レジスタの変更にすぐに反応する) ; line 533 : ; line 534 : switch ( vreg_ctr[VREG_C_LED_CAM] ) $DGL 0,15 mov x,!_vreg_ctr+43 ;[INF] 3, 1 call !bs_S0172 ;[INF] 3, 3 bz $?L0148 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0151 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0150 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0154 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0152 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0153 ;[INF] 2, 4 ; line 535 : { ??bb01_tsk_led_cam: ; line 536 : case ( CAM_LED_OFF ): ?L0148: ; line 537 : default: ; line 538 : LED_duty_CAM = 0; $DGL 0,19 clrw ax ;[INF] 1, 1 movw TDR02,ax ;[INF] 2, 1 ; line 539 : state_led_cam = 0; $DGL 0,20 clrb !?L0142 ; state_led_cam ;[INF] 3, 1 ; line 540 : break; $DGL 0,21 ret ;[INF] 1, 6 ; line 541 : ; line 542 : case ( CAM_LED_ON ): ?L0150: ; line 543 : LED_duty_CAM = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,24 call !bs_S0175 ;[INF] 3, 3 ; line 544 : state_led_cam = 0; $DGL 0,25 clrb !?L0142 ; state_led_cam ;[INF] 3, 1 ; line 545 : break; $DGL 0,26 ret ;[INF] 1, 6 ; line 546 : ; line 547 : case ( CAM_LED_BLINK ): ?L0151: ; line 548 : if( state_led_cam == 0 ) $DGL 0,29 cmp0 !?L0142 ; state_led_cam ;[INF] 3, 1 bnz $?L0157 ;[INF] 2, 4 ; line 549 : { ??bb02_tsk_led_cam: ; line 550 : LED_duty_CAM = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,31 call !bs_S0175 ;[INF] 3, 3 ; line 551 : state_led_cam = 1; $DGL 0,32 oneb !?L0142 ; state_led_cam ;[INF] 3, 1 ??eb02_tsk_led_cam: ; line 552 : } $DGL 0,33 br $?L0158 ;[INF] 2, 3 ?L0157: ; line 553 : else ; line 554 : { ??bb03_tsk_led_cam: ; line 555 : LED_duty_CAM = 0; $DGL 0,36 clrw ax ;[INF] 1, 1 movw TDR02,ax ;[INF] 2, 1 ; line 556 : state_led_cam = 0; $DGL 0,37 clrb !?L0142 ; state_led_cam ;[INF] 3, 1 ??eb03_tsk_led_cam: ; line 557 : } ?L0158: ; line 558 : task_interval = 250; $DGL 0,39 mov !?L0143,#0FAH ; task_interval,250 ;[INF] 4, 1 ; line 559 : break; $DGL 0,40 ret ;[INF] 1, 6 ; line 560 : ; line 561 : case ( CAM_LED_ON_PLUSE ): ?L0152: ; line 562 : if( state_led_cam == 0 ) $DGL 0,43 cmp0 !?L0142 ; state_led_cam ;[INF] 3, 1 bnz $?L0159 ;[INF] 2, 4 ; line 563 : { ??bb04_tsk_led_cam: ; line 564 : LED_duty_CAM = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,45 call !bs_S0175 ;[INF] 3, 3 ; line 565 : state_led_cam = 1; $DGL 0,46 oneb !?L0142 ; state_led_cam ;[INF] 3, 1 ; line 566 : task_interval = 250; $DGL 0,47 mov !?L0143,#0FAH ; task_interval,250 ;[INF] 4, 1 ??eb04_tsk_led_cam: ; line 567 : } $DGL 0,48 ret ;[INF] 1, 6 ?L0159: ; line 568 : else ; line 569 : { ??bb05_tsk_led_cam: ; line 570 : vreg_ctr[VREG_C_LED_CAM] = CAM_LED_OFF; $DGL 0,51 clrb !_vreg_ctr+43 ;[INF] 3, 1 ??eb05_tsk_led_cam: ; line 571 : } ; line 572 : break; $DGL 0,53 ret ;[INF] 1, 6 ; line 573 : ; line 574 : case ( CAM_LED_OFF_PLUSE ): ?L0153: ; line 575 : if( state_led_cam == 0 ) $DGL 0,56 cmp0 !?L0142 ; state_led_cam ;[INF] 3, 1 bnz $?L0161 ;[INF] 2, 4 ; line 576 : { ??bb06_tsk_led_cam: ; line 577 : LED_duty_CAM = 0; $DGL 0,58 clrw ax ;[INF] 1, 1 movw TDR02,ax ;[INF] 2, 1 ; line 578 : state_led_cam = 1; $DGL 0,59 oneb !?L0142 ; state_led_cam ;[INF] 3, 1 ; line 579 : task_interval = 250; $DGL 0,60 mov !?L0143,#0FAH ; task_interval,250 ;[INF] 4, 1 ??eb06_tsk_led_cam: ; line 580 : } $DGL 0,61 ret ;[INF] 1, 6 ?L0161: ; line 581 : else ; line 582 : { ??bb07_tsk_led_cam: ; line 583 : vreg_ctr[VREG_C_LED_CAM] = CAM_LED_ON; $DGL 0,64 mov !_vreg_ctr+43,#02H ; 2 ;[INF] 4, 1 ??eb07_tsk_led_cam: ; line 584 : } ; line 585 : break; $DGL 0,66 ret ;[INF] 1, 6 ; line 586 : ; line 587 : case ( CAM_LED_BY_TWL ): ?L0154: ; line 588 : switch ( vreg_twl[ REG_TWL_INT_ADRS_CAM ] ){ // switchの ; ネストとか… $DGL 0,69 mov x,!_vreg_twl+5 ;[INF] 3, 1 call !bs_S0172 ;[INF] 3, 3 bz $?L0164 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0166 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 bz $?L0165 ;[INF] 2, 4 subw ax,bc ;[INF] 1, 1 br $?L0166 ;[INF] 2, 3 ??bb08_tsk_led_cam: ; line 589 : case( TWL_CAMLED_OFF ): ?L0164: ; line 590 : LED_duty_CAM = 0; $DGL 0,71 clrw ax ;[INF] 1, 1 movw TDR02,ax ;[INF] 2, 1 ; line 591 : state_led_cam = 0; $DGL 0,72 clrb !?L0142 ; state_led_cam ;[INF] 3, 1 ; line 592 : break; $DGL 0,73 ret ;[INF] 1, 6 ; line 593 : ; line 594 : case( TWL_CAMLED_BLINK ): ?L0165: ; line 595 : if( state_led_cam == 0 ) $DGL 0,76 cmp0 !?L0142 ; state_led_cam ;[INF] 3, 1 bnz $?L0170 ;[INF] 2, 4 ; line 596 : { ??bb09_tsk_led_cam: ; line 597 : LED_duty_CAM = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,78 call !bs_S0175 ;[INF] 3, 3 ; line 598 : state_led_cam = 1; $DGL 0,79 oneb !?L0142 ; state_led_cam ;[INF] 3, 1 ??eb09_tsk_led_cam: ; line 599 : } $DGL 0,80 br $?L0171 ;[INF] 2, 3 ?L0170: ; line 600 : else ; line 601 : { ??bb0A_tsk_led_cam: ; line 602 : LED_duty_CAM = 0; $DGL 0,83 clrw ax ;[INF] 1, 1 movw TDR02,ax ;[INF] 2, 1 ; line 603 : state_led_cam = 0; $DGL 0,84 clrb !?L0142 ; state_led_cam ;[INF] 3, 1 ??eb0A_tsk_led_cam: ; line 604 : } ?L0171: ; line 605 : task_interval = 250; $DGL 0,86 mov !?L0143,#0FAH ; task_interval,250 ;[INF] 4, 1 ; line 606 : break; $DGL 0,87 ret ;[INF] 1, 6 ; line 607 : ; line 608 : case( TWL_CAMLED_ON ): ?L0166: ; line 609 : case( TWL_CAMLED_DEF_ON ): ; line 610 : default: ; line 611 : LED_duty_CAM = vreg_ctr[VREG_C_LED_BRIGHT]; $DGL 0,92 call !bs_S0175 ;[INF] 3, 3 ; line 612 : state_led_cam = 1; $DGL 0,93 oneb !?L0142 ; state_led_cam ;[INF] 3, 1 ; line 613 : break; ??eb08_tsk_led_cam: ; line 614 : } ?L0163: ??eb01_tsk_led_cam: ; line 615 : } ; line 616 : return; ; line 617 : } $DGL 0,98 ??ef_tsk_led_cam: ret ;[INF] 1, 6 ??ee_tsk_led_cam: @@CODEL CSEG @@BASE CSEG BASE END ; *** Code Information *** ; ; $FILE C:\78k_data\yav-mcu-basara\branches\0.10(fix)\led.c ; ; $FUNC LED_init(40) ; void=(void) ; CODE SIZE= 83 bytes, CLOCK_SIZE= 39 clocks, STACK_SIZE= 0 bytes ; ; $FUNC LED_stop(87) ; void=(void) ; CODE SIZE= 15 bytes, CLOCK_SIZE= 12 clocks, STACK_SIZE= 0 bytes ; ; $FUNC tsk_led_pow(120) ; void=(void) ; CODE SIZE= 99 bytes, CLOCK_SIZE= 133 clocks, STACK_SIZE= 4 bytes ; ; $CALL led_pow_hotaru(128) ; void=(void) ; ; $CALL led_pow_normal(132) ; void=(void) ; ; $CALL led_pow_hotaru(147) ; void=(void) ; ; $CALL led_pow_normal(152) ; void=(void) ; ; $FUNC led_pow_normal(174) ; void=(void) ; CODE SIZE= 113 bytes, CLOCK_SIZE= 104 clocks, STACK_SIZE= 0 bytes ; ; $FUNC led_pow_hotaru(229) ; void=(void) ; CODE SIZE= 149 bytes, CLOCK_SIZE= 126 clocks, STACK_SIZE= 0 bytes ; ; $FUNC tsk_led_wifi(316) ; void=(void) ; CODE SIZE= 123 bytes, CLOCK_SIZE= 159 clocks, STACK_SIZE= 4 bytes ; ; $FUNC tsk_led_notify(401) ; void=(void) ; CODE SIZE= 200 bytes, CLOCK_SIZE= 208 clocks, STACK_SIZE= 6 bytes ; ; $FUNC tsk_led_cam(520) ; void=(void) ; CODE SIZE= 166 bytes, CLOCK_SIZE= 258 clocks, STACK_SIZE= 4 bytes ; Target chip : uPD79F0104 ; Device file : E1.00b