Mercurial > public > mk2
comparison code_part1/OSTC_code_asm_part1/menu_ppO2.asm @ 817:e49a35ab7394
auto-SP work, auto-SP data stored in EEADR 116-119
author | heinrichsweikamp |
---|---|
date | Sat, 06 Jun 2015 14:46:27 +0200 |
parents | df8cd5ffd993 |
children | 69bc5feca5da |
comparison
equal
deleted
inserted
replaced
816:df8cd5ffd993 | 817:e49a35ab7394 |
---|---|
123 | 123 |
124 show_sp_mode: | 124 show_sp_mode: |
125 read_int_eeprom .116 ; SP Mode | 125 read_int_eeprom .116 ; SP Mode |
126 tstfsz EEDATA ; =0? | 126 tstfsz EEDATA ; =0? |
127 bra show_sp_mode2 ; No | 127 bra show_sp_mode2 ; No |
128 DISPLAYTEXTH .312 ; =0: Manual | 128 DISPLAYTEXTH .363 ; =0: Manual |
129 return | 129 return |
130 show_sp_mode2: | 130 show_sp_mode2: |
131 DISPLAYTEXTH .313 ; =1: Auto | 131 DISPLAYTEXTH .364 ; =1: Auto |
132 return | 132 return |
133 | 133 |
134 | 134 |
135 menu_diluentsetup: | 135 menu_diluentsetup: |
136 movlw d'1' | 136 movlw d'1' |
865 call read_eeprom ; ppO2 value | 865 call read_eeprom ; ppO2 value |
866 movff EEDATA,lo | 866 movff EEDATA,lo |
867 clrf hi | 867 clrf hi |
868 bsf leftbind | 868 bsf leftbind |
869 output_16dp d'3' | 869 output_16dp d'3' |
870 STRCAT TXT_BAR4 | |
871 movf decodata+0,W | |
872 addlw d'117' ; offset in eeprom | |
873 movwf EEADR | |
874 call read_eeprom ; Change depth | |
875 movff EEDATA,lo | |
876 output_8 | |
870 bcf leftbind | 877 bcf leftbind |
871 STRCAT_PRINT TXT_BAR4 | 878 STRCAT_PRINT "m " |
872 | 879 |
873 WIN_LEFT .20 | 880 WIN_LEFT .20 |
874 WIN_TOP .95 | 881 WIN_TOP .95 |
875 | |
876 lfsr FSR2,letter | 882 lfsr FSR2,letter |
877 OUTPUTTEXT d'190' ; ppO2 + | 883 OUTPUTTEXT d'190' ; ppO2 + |
878 call word_processor | 884 call word_processor |
879 | 885 |
880 WIN_LEFT .20 | 886 WIN_LEFT .20 |
881 WIN_TOP .125 | 887 WIN_TOP .125 |
882 | 888 lfsr FSR2,letter |
883 lfsr FSR2,letter | 889 OUTPUTTEXT d'250' ; +1 m |
884 OUTPUTTEXT d'191' ; ppO2 - | |
885 call word_processor | 890 call word_processor |
886 | 891 |
887 WIN_LEFT .20 | 892 WIN_LEFT .20 |
888 WIN_TOP .155 | 893 WIN_TOP .155 |
889 | 894 lfsr FSR2,letter |
895 OUTPUTTEXT .251 ; -1 m | |
896 call word_processor | |
897 | |
898 WIN_LEFT .20 | |
899 WIN_TOP .185 | |
890 lfsr FSR2,letter | 900 lfsr FSR2,letter |
891 OUTPUTTEXT .89 ; "Default: " | 901 OUTPUTTEXT .89 ; "Default: " |
892 STRCAT_PRINT "1.00" | 902 STRCAT_PRINT "1.00 / 0m" |
893 | 903 |
894 DISPLAYTEXT .11 ; Exit | 904 WIN_LEFT .20 |
905 WIN_TOP .215 | |
906 lfsr FSR2,letter | |
907 OUTPUTTEXT .11 ; Exit | |
908 call word_processor | |
909 | |
895 call wait_switches ; Waits until switches are released, resets flag if button stays pressed! | 910 call wait_switches ; Waits until switches are released, resets flag if button stays pressed! |
896 call menu_pre_loop_common ; Clear some menu flags, timeout and switches | 911 call menu_pre_loop_common ; Clear some menu flags, timeout and switches |
897 call DISP_menu_cursor | 912 call DISP_menu_cursor |
898 | 913 |
899 menu_const_ppO2_loop: | 914 menu_const_ppO2_loop: |
922 cpfseq menupos ; =2? | 937 cpfseq menupos ; =2? |
923 bra menu_const_ppO22a ; No | 938 bra menu_const_ppO22a ; No |
924 incf menupos,F ; Skip pos. 2 | 939 incf menupos,F ; Skip pos. 2 |
925 | 940 |
926 menu_const_ppO22a: | 941 menu_const_ppO22a: |
927 movlw d'7' | 942 movlw d'8' |
928 cpfseq menupos ; =7? | 943 cpfseq menupos ; =8? |
929 bra menu_const_ppO23 ; No | 944 bra menu_const_ppO23 ; No |
930 movlw d'1' | 945 movlw d'1' |
931 movwf menupos | 946 movwf menupos |
932 | 947 |
933 menu_const_ppO23: | 948 menu_const_ppO23: |
941 dcfsnz menupos,F | 956 dcfsnz menupos,F |
942 bra change_ppo2_plus | 957 bra change_ppo2_plus |
943 dcfsnz menupos,F | 958 dcfsnz menupos,F |
944 bra change_ppo2_plus | 959 bra change_ppo2_plus |
945 dcfsnz menupos,F | 960 dcfsnz menupos,F |
946 bra change_ppo2_minus | 961 bra change_ppo2_depth_plus |
962 dcfsnz menupos,F | |
963 bra change_ppo2_depth_minus | |
947 dcfsnz menupos,F | 964 dcfsnz menupos,F |
948 bra change_ppo2_reset | 965 bra change_ppo2_reset |
949 movlw d'2' | 966 movlw d'2' |
950 movwf menupos | 967 movwf menupos |
951 goto menu_const_ppO2_return | 968 goto menu_const_ppO2_return |
969 | |
970 change_ppo2_depth_plus: | |
971 movf decodata+0,W | |
972 addlw d'117' ; offset in eeprom | |
973 movwf EEADR | |
974 call read_eeprom ; Change depth | |
975 movff EEDATA,lo | |
976 incf lo,F | |
977 movlw d'99' | |
978 cpfsgt lo | |
979 bra change_ppo2_depth_plus2 | |
980 clrf lo | |
981 change_ppo2_depth_plus2: | |
982 movff lo,EEDATA ; write result | |
983 call write_eeprom ; save result in EEPROM | |
984 movlw d'4' | |
985 movwf menupos | |
986 bra menu_const_ppO21 | |
987 | |
988 change_ppo2_depth_minus: | |
989 movf decodata+0,W | |
990 addlw d'117' ; offset in eeprom | |
991 movwf EEADR | |
992 call read_eeprom ; Change depth | |
993 movff EEDATA,lo | |
994 decf lo,F | |
995 movlw d'100' | |
996 cpfsgt lo | |
997 bra change_ppo2_depth_minus2 | |
998 clrf lo | |
999 change_ppo2_depth_minus2: | |
1000 movff lo,EEDATA ; write result | |
1001 call write_eeprom ; save result in EEPROM | |
1002 movlw d'5' | |
1003 movwf menupos | |
1004 bra menu_const_ppO21 | |
952 | 1005 |
953 change_ppo2_plus: | 1006 change_ppo2_plus: |
954 movf decodata+0,W ; read current value | 1007 movf decodata+0,W ; read current value |
955 addlw d'36' ; offset in memory | 1008 addlw d'36' ; offset in memory |
956 movwf EEADR | 1009 movwf EEADR |
957 call read_eeprom ; Low-value | 1010 call read_eeprom ; Low-value |
958 movff EEDATA,lo | 1011 movff EEDATA,lo |
959 | 1012 |
960 incf lo,F ; increase depth | 1013 movlw .10 |
961 movlw d'201' | 1014 addwf lo,F ; increase ppO2 |
962 cpfseq lo | 1015 movlw d'200' |
1016 cpfsgt lo | |
963 bra change_ppo2_plus2 | 1017 bra change_ppo2_plus2 |
964 movlw d'200' | 1018 movlw d'30' |
965 movwf lo | 1019 movwf lo |
966 change_ppo2_plus2: | 1020 change_ppo2_plus2: |
967 movff lo,EEDATA ; write result | 1021 movff lo,EEDATA ; write result |
968 call write_eeprom ; save result in EEPROM | 1022 call write_eeprom ; save result in EEPROM |
969 movlw d'3' | 1023 movlw d'3' |
970 movwf menupos | 1024 movwf menupos |
971 bra menu_const_ppO21 | 1025 bra menu_const_ppO21 |
972 | 1026 |
973 change_ppo2_minus: | 1027 change_ppo2_reset: ; reset to 1.00bar and 0m depth |
974 movf decodata+0,W ; read current value | |
975 addlw d'36' ; offset in memory | |
976 movwf EEADR | |
977 call read_eeprom ; Low-value | |
978 movff EEDATA,lo | |
979 | |
980 decf lo,F ; decrease depth | |
981 movlw d'29' | |
982 cpfseq lo | |
983 bra change_ppo2_minus2 | |
984 movlw d'30' | |
985 movwf lo | |
986 | |
987 change_ppo2_minus2: | |
988 movff lo,EEDATA ; write result | |
989 call write_eeprom ; save result in EEPROM | |
990 | |
991 movlw d'4' | |
992 movwf menupos | |
993 bra menu_const_ppO21 | |
994 | |
995 change_ppo2_reset: ; reset to 1.00Bar | |
996 movf decodata+0,W ; read current value | 1028 movf decodata+0,W ; read current value |
997 addlw d'36' ; offset in memory | 1029 addlw d'36' ; offset in memory |
998 movwf EEADR | 1030 movwf EEADR |
999 movlw d'100' | 1031 movlw d'100' |
1000 movwf EEDATA | 1032 movwf EEDATA |
1001 call write_eeprom ; save result in EEPROM | 1033 call write_eeprom ; save result in EEPROM |
1002 movlw d'5' | 1034 |
1035 movf decodata+0,W | |
1036 addlw d'117' ; offset in eeprom | |
1037 movwf EEADR | |
1038 clrf EEDATA ; 0m default | |
1039 call write_eeprom ; save result in EEPROM | |
1040 | |
1041 movlw d'6' | |
1003 movwf menupos | 1042 movwf menupos |
1004 bra menu_const_ppO21 | 1043 bra menu_const_ppO21 |
1005 | 1044 |
1006 next_ppO2: | 1045 next_ppO2: |
1007 incf decodata+0,F | 1046 incf decodata+0,F |