Skip to content

Commit db5d576

Browse files
committed
state caching bug fixes
1 parent 483cdc1 commit db5d576

File tree

3 files changed

+10
-152
lines changed

3 files changed

+10
-152
lines changed

pytest.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
[pytest]
22
; faulthandler_timeout=5
3-
log_level=DEBUG
3+
log_level=ERROR
44
log_format=%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] %(message)s
55
# **********************
66
# These tests rely on python periphery which is not available on Windows, so this causes
7-
# Pytest discovery error. Comment this out when using EdgePi, in order for Pytest to discover
8-
# integration and hardware tests.
7+
# Pytest discovery error. Uncomment below line when using Windows, in order to hide integration and
8+
# hardware tests from Pytest and prevent Pytest discovery errors.
99
# **********************
10-
addopts= --ignore=./src/test_edgepi/integration_tests --ignore=./src/test_edgepi/hardware_tests
10+
; addopts= --ignore=./src/test_edgepi/integration_tests --ignore=./src/test_edgepi/hardware_tests

src/edgepi/adc/edgepi_adc.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -747,19 +747,19 @@ def __config(
747747

748748
# get codes to update register values
749749
_logger.debug(f"opcodes = {ops_list}")
750-
apply_opcodes(reg_values, ops_list)
750+
updated_reg_values = apply_opcodes(dict(reg_values), ops_list)
751751
_logger.debug(f"__config: register values after updates:\n\n{reg_values}\n\n")
752752

753753
# write updated reg values to ADC using a single write.
754-
data = [entry["value"] for entry in reg_values.values()]
754+
data = [entry["value"] for entry in updated_reg_values.values()]
755755
self.__write_register(ADCReg.REG_ID, data)
756756

757+
# update ADC state (for state caching)
758+
self.__update_cache_map(updated_reg_values)
759+
757760
# validate updates were applied correctly
758761
if validate:
759-
self.__validate_updates(reg_values)
760-
761-
# update ADC state (for state caching)
762-
self.__update_cache_map(reg_values)
762+
self.__validate_updates(updated_reg_values)
763763

764764
return reg_values
765765

src/test_edgepi/integration_tests/test_adc/test_adc_state.py

Lines changed: 0 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -497,16 +497,6 @@ def fixture_adc_cache():
497497
"state.adc_1.mux_p",
498498
ADCProperties.ADC1_MUXP.value.values[ADCChannel.AIN7.value << 4],
499499
),
500-
(
501-
{"adc_1_analog_in": ADCChannel.AIN8},
502-
"state.adc_1.mux_p",
503-
ADCProperties.ADC1_MUXP.value.values[ADCChannel.AIN8.value << 4],
504-
),
505-
(
506-
{"adc_1_analog_in": ADCChannel.AIN9},
507-
"state.adc_1.mux_p",
508-
ADCProperties.ADC1_MUXP.value.values[ADCChannel.AIN9.value << 4],
509-
),
510500
(
511501
{"adc_1_analog_in": ADCChannel.AINCOM},
512502
"state.adc_1.mux_p",
@@ -517,67 +507,6 @@ def fixture_adc_cache():
517507
"state.adc_1.mux_p",
518508
ADCProperties.ADC1_MUXP.value.values[ADCChannel.FLOAT.value << 4],
519509
),
520-
# ADC1 MUX_N
521-
(
522-
{"adc_1_mux_n": ADCChannel.AIN0},
523-
"state.adc_1.mux_n",
524-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN0.value],
525-
),
526-
(
527-
{"adc_1_mux_n": ADCChannel.AIN1},
528-
"state.adc_1.mux_n",
529-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN1.value],
530-
),
531-
(
532-
{"adc_1_mux_n": ADCChannel.AIN2},
533-
"state.adc_1.mux_n",
534-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN2.value],
535-
),
536-
(
537-
{"adc_1_mux_n": ADCChannel.AIN3},
538-
"state.adc_1.mux_n",
539-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN3.value],
540-
),
541-
(
542-
{"adc_1_mux_n": ADCChannel.AIN4},
543-
"state.adc_1.mux_n",
544-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN4.value],
545-
),
546-
(
547-
{"adc_1_mux_n": ADCChannel.AIN5},
548-
"state.adc_1.mux_n",
549-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN5.value],
550-
),
551-
(
552-
{"adc_1_mux_n": ADCChannel.AIN6},
553-
"state.adc_1.mux_n",
554-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN6.value],
555-
),
556-
(
557-
{"adc_1_mux_n": ADCChannel.AIN7},
558-
"state.adc_1.mux_n",
559-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN7.value],
560-
),
561-
(
562-
{"adc_1_mux_n": ADCChannel.AIN8},
563-
"state.adc_1.mux_n",
564-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN8.value],
565-
),
566-
(
567-
{"adc_1_mux_n": ADCChannel.AIN9},
568-
"state.adc_1.mux_n",
569-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AIN9.value],
570-
),
571-
(
572-
{"adc_1_mux_n": ADCChannel.AINCOM},
573-
"state.adc_1.mux_n",
574-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.AINCOM.value],
575-
),
576-
(
577-
{"adc_1_mux_n": ADCChannel.FLOAT},
578-
"state.adc_1.mux_n",
579-
ADCProperties.ADC1_MUXN.value.values[ADCChannel.FLOAT.value],
580-
),
581510
# ADC2 MUX_P
582511
(
583512
{"adc_2_analog_in": ADCChannel.AIN0},
@@ -619,16 +548,6 @@ def fixture_adc_cache():
619548
"state.adc_2.mux_p",
620549
ADCProperties.ADC2_MUXP.value.values[ADCChannel.AIN7.value << 4],
621550
),
622-
(
623-
{"adc_2_analog_in": ADCChannel.AIN8},
624-
"state.adc_2.mux_p",
625-
ADCProperties.ADC2_MUXP.value.values[ADCChannel.AIN8.value << 4],
626-
),
627-
(
628-
{"adc_2_analog_in": ADCChannel.AIN9},
629-
"state.adc_2.mux_p",
630-
ADCProperties.ADC2_MUXP.value.values[ADCChannel.AIN9.value << 4],
631-
),
632551
(
633552
{"adc_2_analog_in": ADCChannel.AINCOM},
634553
"state.adc_2.mux_p",
@@ -639,67 +558,6 @@ def fixture_adc_cache():
639558
"state.adc_2.mux_p",
640559
ADCProperties.ADC2_MUXP.value.values[ADCChannel.FLOAT.value << 4],
641560
),
642-
# ADC2 MUX_N
643-
(
644-
{"adc_2_mux_n": ADCChannel.AIN0},
645-
"state.adc_2.mux_n",
646-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN0.value],
647-
),
648-
(
649-
{"adc_2_mux_n": ADCChannel.AIN1},
650-
"state.adc_2.mux_n",
651-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN1.value],
652-
),
653-
(
654-
{"adc_2_mux_n": ADCChannel.AIN2},
655-
"state.adc_2.mux_n",
656-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN2.value],
657-
),
658-
(
659-
{"adc_2_mux_n": ADCChannel.AIN3},
660-
"state.adc_2.mux_n",
661-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN3.value],
662-
),
663-
(
664-
{"adc_2_mux_n": ADCChannel.AIN4},
665-
"state.adc_2.mux_n",
666-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN4.value],
667-
),
668-
(
669-
{"adc_2_mux_n": ADCChannel.AIN5},
670-
"state.adc_2.mux_n",
671-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN5.value],
672-
),
673-
(
674-
{"adc_2_mux_n": ADCChannel.AIN6},
675-
"state.adc_2.mux_n",
676-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN6.value],
677-
),
678-
(
679-
{"adc_2_mux_n": ADCChannel.AIN7},
680-
"state.adc_2.mux_n",
681-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN7.value],
682-
),
683-
(
684-
{"adc_2_mux_n": ADCChannel.AIN8},
685-
"state.adc_2.mux_n",
686-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN8.value],
687-
),
688-
(
689-
{"adc_2_mux_n": ADCChannel.AIN9},
690-
"state.adc_2.mux_n",
691-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AIN9.value],
692-
),
693-
(
694-
{"adc_2_mux_n": ADCChannel.AINCOM},
695-
"state.adc_2.mux_n",
696-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.AINCOM.value],
697-
),
698-
(
699-
{"adc_2_mux_n": ADCChannel.FLOAT},
700-
"state.adc_2.mux_n",
701-
ADCProperties.ADC2_MUXN.value.values[ADCChannel.FLOAT.value],
702-
),
703561
# CHECK MODE
704562
(
705563
{"checksum_mode": CheckMode.CHECK_BYTE_CRC},

0 commit comments

Comments
 (0)