|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
#include <sx1262_setup.h>
Public Member Functions | |
| Sx1262Setup (SpiBus &bus, RadioControl &control, const LoraConfig &cfg) | |
| SetupStep | configure () |
| RadioStatus | send (const uint8_t *bytes, uint8_t len) |
| bool | start_rx_duty_cycle (uint32_t rx_ms, uint32_t sleep_ms) |
| bool | start_rx_continuous () |
| bool | rearm_rx () |
| uint16_t | device_errors () const |
| uint32_t | tx_ok () const |
| uint32_t | tx_timeouts () const |
Private Member Functions | |
| bool | cmd (const uint8_t *tx, uint16_t n) |
| bool | read_register (uint16_t addr, uint8_t &value) |
| bool | write_register (uint16_t addr, const uint8_t *data, uint8_t n) |
| bool | set_packet_params (uint8_t payload_len) |
| bool | irq_status (uint16_t &irq) |
| bool | back_to_rx () |
| bool | send_duty_cycle () |
Private Attributes | |
| SpiBus & | bus_ |
| RadioControl & | control_ |
| LoraConfig | cfg_ |
| RxMode | rx_mode_ = RxMode::Continuous |
| uint32_t | duty_rx_steps_ = 0 |
| uint32_t | duty_sleep_steps_ = 0 |
| uint16_t | device_errors_ = 0 |
| uint32_t | tx_ok_ = 0 |
| uint32_t | tx_timeouts_ = 0 |
| uint8_t | tx_ [2+255] |
| uint8_t | rx_ [2+255] |
Definition at line 77 of file sx1262_setup.h.
|
inline |
Definition at line 79 of file sx1262_setup.h.
|
private |
Definition at line 156 of file sx1262_setup.cpp.
References cmd(), control_, radio_link::DutyCycle, radio_link::kOpSetRx, rx_mode_, send_duty_cycle(), and set_packet_params().
Referenced by configure(), rearm_rx(), send(), start_rx_continuous(), and start_rx_duty_cycle().
|
private |
Definition at line 89 of file sx1262_setup.cpp.
Referenced by back_to_rx(), configure(), irq_status(), read_register(), send(), send_duty_cycle(), set_packet_params(), start_rx_continuous(), start_rx_duty_cycle(), and write_register().
| SetupStep radio_link::Sx1262Setup::configure | ( | ) |
Definition at line 192 of file sx1262_setup.cpp.
References back_to_rx(), radio_link::BufferBase, radio_link::Calibrate, cfg_, cmd(), control_, device_errors_, radio_link::DeviceErrors, errors, radio_link::Frequency, radio_link::ImageCalibration, radio_link::IrqMap, radio_link::Modulation, radio_link::Ok, radio_link::PacketParams, radio_link::PacketType, radio_link::PaConfig, read_register(), radio_link::Regulator, radio_link::RfSwitch, rx_, set_packet_params(), radio_link::Standby, radio_link::StartRx, radio_link::sx1262_frequency_word(), radio_link::sx1262_status_ok(), radio_link::SyncWord, radio_link::Tcxo, radio_link::TxClamp, radio_link::TxParams, and write_register().
Referenced by anonymous_namespace{idle_e2e.cpp}::run(), test_configure_follows_the_datasheet_order(), test_configure_names_the_failing_step(), test_duty_cycle_1ms_is_64_steps(), test_duty_cycle_sends_correct_opcode_and_periods(), test_no_rearm_means_no_duty_cycle_command(), test_radio_rearmed_after_every_rxdone(), test_rearm_is_noop_in_continuous_mode(), test_rearm_restarts_duty_cycle_after_rxdone(), test_send_keeps_a_packet_that_just_arrived(), test_send_refuses_bad_input_and_dead_chip(), test_send_returns_to_duty_cycle_not_continuous(), test_send_times_out(), test_send_waits_for_tx_done_and_returns_to_rx(), and test_start_continuous_after_duty_cycle().
|
inline |
Definition at line 107 of file sx1262_setup.h.
References device_errors_.
|
private |
Definition at line 134 of file sx1262_setup.cpp.
References cmd(), radio_link::kOpGetIrqStatus, rx_, and radio_link::sx1262_status_ok().
Referenced by send().
|
private |
Definition at line 97 of file sx1262_setup.cpp.
References cmd(), rx_, and radio_link::sx1262_status_ok().
Referenced by configure(), and send().
| bool radio_link::Sx1262Setup::rearm_rx | ( | ) |
Definition at line 186 of file sx1262_setup.cpp.
References back_to_rx(), radio_link::DutyCycle, and rx_mode_.
Referenced by test_radio_rearmed_after_every_rxdone(), test_rearm_is_noop_in_continuous_mode(), and test_rearm_restarts_duty_cycle_after_rxdone().
| RadioStatus radio_link::Sx1262Setup::send | ( | const uint8_t * | bytes, |
| uint8_t | len ) |
Definition at line 299 of file sx1262_setup.cpp.
References back_to_rx(), cfg_, cmd(), control_, radio_link::ErrNotFound, radio_link::ErrTimeout, radio_link::ErrTooLong, irq_status(), radio_link::kOpClearIrqStatus, radio_link::lora_time_on_air_us(), radio_link::Ok, read_register(), result, set_packet_params(), tx_, tx_ok_, tx_timeouts_, and write_register().
Referenced by ball_valve_gui.BallValveGui::command(), ball_valve_gui.BallValveGui::send_server_heartbeat(), test_send_keeps_a_packet_that_just_arrived(), test_send_refuses_bad_input_and_dead_chip(), test_send_returns_to_duty_cycle_not_continuous(), test_send_times_out(), and test_send_waits_for_tx_done_and_returns_to_rx().
|
private |
Definition at line 143 of file sx1262_setup.cpp.
References cmd(), duty_rx_steps_, and duty_sleep_steps_.
Referenced by back_to_rx().
|
private |
Definition at line 121 of file sx1262_setup.cpp.
Referenced by back_to_rx(), configure(), and send().
| bool radio_link::Sx1262Setup::start_rx_continuous | ( | ) |
Definition at line 178 of file sx1262_setup.cpp.
References back_to_rx(), cmd(), radio_link::Continuous, and rx_mode_.
Referenced by test_start_continuous_after_duty_cycle().
| bool radio_link::Sx1262Setup::start_rx_duty_cycle | ( | uint32_t | rx_ms, |
| uint32_t | sleep_ms ) |
Definition at line 167 of file sx1262_setup.cpp.
References back_to_rx(), cmd(), duty_rx_steps_, duty_sleep_steps_, radio_link::DutyCycle, and rx_mode_.
Referenced by test_duty_cycle_1ms_is_64_steps(), test_duty_cycle_sends_correct_opcode_and_periods(), test_no_rearm_means_no_duty_cycle_command(), test_radio_rearmed_after_every_rxdone(), test_rearm_restarts_duty_cycle_after_rxdone(), test_send_returns_to_duty_cycle_not_continuous(), and test_start_continuous_after_duty_cycle().
|
inline |
Definition at line 110 of file sx1262_setup.h.
References tx_ok_.
Referenced by test_send_waits_for_tx_done_and_returns_to_rx().
|
inline |
Definition at line 113 of file sx1262_setup.h.
References tx_timeouts_.
Referenced by anonymous_namespace{idle_e2e.cpp}::check_idle_tx_fail(), and test_send_times_out().
|
private |
Definition at line 108 of file sx1262_setup.cpp.
References cmd().
Referenced by configure(), and send().
|
private |
Definition at line 126 of file sx1262_setup.h.
Referenced by cmd(), and Sx1262Setup().
|
private |
Definition at line 128 of file sx1262_setup.h.
Referenced by configure(), send(), set_packet_params(), and Sx1262Setup().
|
private |
Definition at line 127 of file sx1262_setup.h.
Referenced by back_to_rx(), configure(), send(), and Sx1262Setup().
|
private |
Definition at line 132 of file sx1262_setup.h.
Referenced by configure(), and device_errors().
|
private |
Definition at line 130 of file sx1262_setup.h.
Referenced by send_duty_cycle(), and start_rx_duty_cycle().
|
private |
Definition at line 131 of file sx1262_setup.h.
Referenced by send_duty_cycle(), and start_rx_duty_cycle().
|
private |
Definition at line 136 of file sx1262_setup.h.
Referenced by cmd(), configure(), irq_status(), and read_register().
|
private |
Definition at line 129 of file sx1262_setup.h.
Referenced by back_to_rx(), rearm_rx(), start_rx_continuous(), and start_rx_duty_cycle().
|
private |
Definition at line 135 of file sx1262_setup.h.
Referenced by send().
|
private |
Definition at line 133 of file sx1262_setup.h.
|
private |
Definition at line 134 of file sx1262_setup.h.
Referenced by send(), and tx_timeouts().