Mercurial > public > hwos_code
comparison src/surfmode.asm @ 643:7d8a4c60ec1a
3.15 release
author | heinrichsweikamp |
---|---|
date | Mon, 24 May 2021 18:40:53 +0200 |
parents | 8c1f1f334275 |
children | 682c514c53c0 |
comparison
equal
deleted
inserted
replaced
642:a9a0188091e4 | 643:7d8a4c60ec1a |
---|---|
320 clrf message_counter ; clear message counter | 320 clrf message_counter ; clear message counter |
321 | 321 |
322 ; warnings for all modes | 322 ; warnings for all modes |
323 call check_battery ; check if the battery level should be displayed/warned | 323 call check_battery ; check if the battery level should be displayed/warned |
324 | 324 |
325 IFDEF _debug_output | |
326 call check_i2c_error ; check for an I2C error (For debugging purposes only) | |
327 ENDIF | |
328 | |
325 btfsc FLAG_apnoe_mode ; done for Apnoe or Gauge mode | 329 btfsc FLAG_apnoe_mode ; done for Apnoe or Gauge mode |
326 bra surfmode_check_warnings2 | 330 bra surfmode_check_warnings2 |
327 btfsc FLAG_gauge_mode ; done for Apnoe or Gauge mode | 331 btfsc FLAG_gauge_mode ; done for Apnoe or Gauge mode |
328 bra surfmode_check_warnings2 | 332 bra surfmode_check_warnings2 |
329 | 333 |
424 bra housekeeping_0 ; NO | 428 bra housekeeping_0 ; NO |
425 call TFT_surfmode_time ; YES - update displayed time | 429 call TFT_surfmode_time ; YES - update displayed time |
426 call TFT_surfmode_batt ; - update displayed battery voltage | 430 call TFT_surfmode_batt ; - update displayed battery voltage |
427 btfss timebase_1sec,0 ; - on even second? | 431 btfss timebase_1sec,0 ; - on even second? |
428 call surfmode_check_warnings ; YES - check for warnings and display/update them | 432 call surfmode_check_warnings ; YES - check for warnings and display/update them |
433 | |
434 btfsc trigger_temp_changed ; - temperature changed? | |
435 call TFT_surfmode_temp ; YES - display temperature | |
436 bcf trigger_temp_changed ; - clear flag (anyhow) | |
437 | |
438 btfsc trigger_pres_cur_changed ; YES - pressure changed? | |
439 call TFT_surfmode_pres_fast ; YES - display surface pressure, but only if change > threshold | |
440 bcf trigger_pres_cur_changed ; - clear flag (anyhow) | |
441 | |
429 | 442 |
430 IFDEF _rx_functions | 443 IFDEF _rx_functions |
431 btfss tr_functions_activated ; - TR functions activated? | 444 btfss tr_functions_activated ; - TR functions activated? |
432 bra housekeeping_0 ; NO - skip tank pressure part | 445 bra housekeeping_0 ; NO - skip tank pressure part |
433 | 446 |
440 call TFT_surf_cv_tankdata ; YES - update tank data custom view | 453 call TFT_surf_cv_tankdata ; YES - update tank data custom view |
441 ENDIF | 454 ENDIF |
442 | 455 |
443 housekeeping_0: | 456 housekeeping_0: |
444 bsf restart_fast ; default to doing a fast restart (no logos) | 457 bsf restart_fast ; default to doing a fast restart (no logos) |
458 btfsc divemode ; NO - need to enter dive mode? | |
459 bra housekeeping_0b ; YES - but check again, to filter potential glitches (New sensor) | |
460 housekeeping_0a: | |
445 call check_dive_modes_surf ; check if dive mode needs to be entered, will set dive mode flag if yes | 461 call check_dive_modes_surf ; check if dive mode needs to be entered, will set dive mode flag if yes |
446 btfsc simulatormode ; in simulator mode? | 462 btfsc simulatormode ; in simulator mode? |
447 bra housekeeping_1 ; YES - can't restart or go to sleep without prior cleanup | 463 bra housekeeping_1 ; YES - can't restart or go to sleep without prior cleanup |
448 btfsc divemode ; NO - need to enter dive mode? | |
449 goto restart ; YES - restart, will proceed to dive mode | |
450 btfss trigger_timeout ; NO - timeout? | 464 btfss trigger_timeout ; NO - timeout? |
451 bra housekeeping_1 ; NO | 465 bra housekeeping_1 ; NO |
452 btfsc surfmode_menu ; YES - in surface menus? | 466 btfsc surfmode_menu ; YES - in surface menus? |
453 goto restart ; YES - goto restart, will proceed to surface mode | 467 goto restart ; YES - goto restart, will proceed to surface mode |
454 bcf restart_fast ; NO - set next restart to be done slow, i.e. with logos | 468 bcf restart_fast ; NO - set next restart to be done slow, i.e. with logos |
455 goto sleeploop ; - goto sleep mode | 469 goto sleeploop ; - goto sleep mode |
456 | 470 |
471 housekeeping_0b: | |
472 call check_dive_modes_surf ; check if dive mode needs to be entered, will set dive mode flag if yes | |
473 btfsc divemode ; NO - really need to enter dive mode? | |
474 goto restart ; YES | |
475 bra housekeeping_0a ; No, continue above | |
476 | |
457 housekeeping_1: | 477 housekeeping_1: |
458 btfss trigger_quarter_second ; new 1/4 second begun? | 478 btfss trigger_quarter_second ; new 1/4 second begun? |
459 bra housekeeping_2 ; NO | 479 bra housekeeping_2 ; NO |
460 | 480 |
461 ;---- tasks any new 1/4 second ----- | 481 ;---- tasks any new 1/4 second ----- |
462 | |
463 bcf trigger_quarter_second ; YES - clear flag | 482 bcf trigger_quarter_second ; YES - clear flag |
483 | |
484 btfss press_sensor_type ; New sensor found? | |
485 bra housekeeping_1aa ; No | |
486 | |
487 btfsc ms5837_state ; =0: result of temperature is in the ADC | |
488 bra housekeeping_1ab | |
489 call I2C_get_temp_val_MS5837 ; (Will set ms5837_state) | |
490 bra housekeeping_1aa ; Done. | |
491 housekeeping_1ab: | |
492 call I2C_get_press_val_MS5837 ; (Will clear ms5837_state) | |
493 housekeeping_1aa: | |
464 IFDEF _external_sensor | 494 IFDEF _external_sensor |
465 btfsc imprint_sensor_mv ; - shall imprint sensor mV data? | 495 btfsc imprint_sensor_mv ; - shall imprint sensor mV data? |
466 call TFT_imprint_menu_mV ; YES - imprint sensor mV data | 496 call TFT_imprint_menu_mV ; YES - imprint sensor mV data |
467 ENDIF ; _external_sensor | 497 ENDIF ; _external_sensor |
468 btfss imprint_surfmode_data ; - shall imprint all surface mode data? | 498 btfss imprint_surfmode_data ; - shall imprint all surface mode data? |
469 bra housekeeping_2 ; NO | 499 bra housekeeping_2 ; NO |
470 btfsc trigger_pres_cur_changed ; YES - pressure changed? | 500 |
471 call TFT_surfmode_pres_fast ; YES - display surface pressure, but only if change > threshold | |
472 bcf trigger_pres_cur_changed ; - clear flag (anyhow) | |
473 IFDEF _compass | 501 IFDEF _compass |
474 movf active_customview,W ; - get current custom view | 502 movf active_customview,W ; - get current custom view |
475 xorlw .6 ; - coding of compass custom view | 503 xorlw .6 ; - coding of compass custom view |
476 btfsc STATUS,Z ; - equal? | 504 btfsc STATUS,Z ; - equal? |
477 call TFT_surface_compass_heading ; YES - update compass view | 505 call TFT_surface_compass_heading ; YES - update compass view |
520 housekeeping_2b: | 548 housekeeping_2b: |
521 btfss imprint_surfmode_data ; - shall imprint all surface mode data? | 549 btfss imprint_surfmode_data ; - shall imprint all surface mode data? |
522 bra housekeeping_3 ; NO | 550 bra housekeeping_3 ; NO |
523 call TFT_surfmode_date ; YES - update displayed date | 551 call TFT_surfmode_date ; YES - update displayed date |
524 | 552 |
525 btfsc trigger_temp_changed ; - temperature changed? | |
526 call TFT_surfmode_temp ; YES - display temperature | |
527 bcf trigger_temp_changed ; - clear flag (anyhow) | |
528 | |
529 movf active_customview,W ; - get current custom view | 553 movf active_customview,W ; - get current custom view |
530 xorlw .5 ; - coding of tissue custom view | 554 xorlw .5 ; - coding of tissue custom view |
531 btfsc STATUS,Z ; - equal? | 555 btfsc STATUS,Z ; - equal? |
532 call TFT_surf_cv_tissues ; YES - update tissue diagram | 556 call TFT_surf_cv_tissues ; YES - update tissue diagram |
533 | 557 |