diff options
Diffstat (limited to 'bootloader/cmds-16f1847.inc')
-rw-r--r-- | bootloader/cmds-16f1847.inc | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/bootloader/cmds-16f1847.inc b/bootloader/cmds-16f1847.inc index 1f15c20..67775c5 100644 --- a/bootloader/cmds-16f1847.inc +++ b/bootloader/cmds-16f1847.inc @@ -129,7 +129,7 @@ write_flash_segment_next goto write_flash_segment_loop bcf EECON1,WREN - clrw ; check if a write error occured + movlw E_OK ; check if a write error occured btfsc EECON1,WRERR movlw E_FLASH_WERR movlb .0 @@ -137,3 +137,31 @@ write_flash_segment_next movlw .1 ; bytes to send call send_answer goto wait_new_cmd + + ;; read config -------- +cmd_r_config + movf combuff + .2,w + sublw CFG - .1 + btfss STATUS,C + goto address_invalid + movf combuff + .2,w + movlb .3 + addlw CONFIG_OFFSET + movwf EEADRL + clrf EEADRH + bsf EECON1,CFGS + bsf EECON1,RD + nop + nop + movf EEDATL,w + movlb .0 + movwf combuff + .3 + movlb .3 + movf EEDATH,w + movlb .0 + movwf combuff + .4 + movlw E_OK + movwf combuff + .2 ; = E_OK + movlw .3 ; bytes to send + call send_answer + goto wait_new_cmd |