5 void MSB_returns_most_significant_bit_of_16bit_input(
void);
6 void LSB_returns_least_significant_bit_of_16bit_input(
void);
9 void LisInit_sets_PixSelect_as_an_output(
void);
10 void LisInit_idles_PixSelect_low(
void);
11 void LisInit_sets_Clk_as_an_output(
void);
12 void LisInit_sets_Rst_as_an_output(
void);
13 void LisInit_idles_Rst_low(
void);
14 void LisInit_sets_Sync_as_an_input(
void);
15 void LisInit_sets_PWM_frequency_at_50kHz(
void);
16 void LisInit_sets_PWM_duty_cycle_to_50_percent(
void);
17 void LisInit_resets_PWM_timer_at_top(
void);
18 void LisInit_PWM_timer_top_is_OCR0A(
void);
19 void LisInit_PWM_timer_is_clocked_by_CPU_with_no_prescaling(
void);
20 void LisInit_outputs_the_PWM_clock_on_pin_Clk(
void);
23 void LisConfigIsValid_returns_false_if_binning_is_invalid(
void);
24 void LisConfigIsValid_returns_false_if_gain_is_invalid(
void);
25 void LisConfigIsValid_returns_false_if_active_rows_is_invalid(
void);
26 void LisConfigIsValid_returns_true_if_config_is_valid(
void);
29 void ConfigAs28bits_writes_config_as_little_endian_ie_binning_is_config_byte0_bit0(
void);
30 void ConfigAs28bits_sets_config_byte0_bit0_if_BINNING_ON(
void);
31 void ConfigAs28bits_clears_config_byte0_bit0_if_BINNING_OFF(
void);
32 void ConfigAs28bits_byte0_bit1_clear_and_bit2_clear_if_GAIN_1X(
void);
33 void ConfigAs28bits_byte0_bit1_clear_and_bit2_set_if_GAIN_2X5(
void);
34 void ConfigAs28bits_byte0_bit1_set_and_bit2_clear_if_GAIN_4X(
void);
35 void ConfigAs28bits_byte0_bit1_set_and_bit2_set_if_GAIN_5X(
void);
36 void ConfigAs28bits_bit3_to_bit27_set_if_ALL_ROWS_ACTIVE(
void);
37 void ConfigAs28bits_b3b8b13b18b23_set_if_ROW_1_ACTIVE(
void);
38 void ConfigAs28bits_b4b9b14b19b24_set_if_ROW_2_ACTIVE(
void);
39 void ConfigAs28bits_b5b10b15b20b25_set_if_ROW_3_ACTIVE(
void);
40 void ConfigAs28bits_b6b11b16b21b26_set_if_ROW_4_ACTIVE(
void);
41 void ConfigAs28bits_b7b12b17b22b27_set_if_ROW_5_ACTIVE(
void);
44 void LisWriteConfig_converts_config_to_28bit_sequence(
void);
45 void LisWriteConfig_enters_LIS_programming_mode(
void);
46 void LisWriteConfig_writes_28bits_to_LIS_setup_register(
void);
47 void LisWriteConfig_exits_LIS_programming_mode(
void);
50 void WaitForLisClkLow_clears_flag_PwmTimerMatchesOCF0B(
void);
51 void WaitForLisClkLow_waits_until_flag_PwmTimerMatchesOCF0B_is_set(
void);
54 void WaitForLisClkHigh_clears_flag_PwmTimerMatchesOCF0A(
void);
55 void WaitForLisClkHigh_waits_until_flag_PwmTimerMatchesOCF0A_is_set(
void);
58 void EnterLisProgrammingMode_waits_for_LisClk_LOW(
void);
59 void EnterLisProgrammingMode_asserts_LisPixSelect_to_program_Lis(
void);
62 void ExitLisProgrammingMode_outputs_LOW_on_pin_LisRst(
void);
63 void ExitLisProgrammingMode_outputs_LOW_on_pin_LisPixSelect(
void);
66 void WriteLisConfigBit_outputs_bit_on_LisRst(
void);
67 void WriteLisConfigBit_waits_for_LisClk_HIGH(
void);
68 void WriteLisConfigBit_waits_for_LisClk_LOW(
void);
71 void Write28bitLisConfig_writes_28bits_starting_at_byte0_bit0_and_ending_at_byte3_bit3(
void);
74 void LisExpose_waits_for_the_falling_edge_of_Lis_Clk(
void);
75 void LisExpose_starts_exposure_by_driving_Lis_Rst_HIGH(
void);
76 void LisExpose_counts_falling_edges_of_Lis_Clk_until_count_equals_exposure_ticks(
void);
77 void LisExpose_stops_exposure_by_driving_Lis_Rst_LOW(
void);