logic-analyzer
|
First version of Capture implementation for Raspberry Pico using the PIO. Based on https://github.com/raspberrypi/pico-examples/blob/master/pio/logic_analyser/logic_analyser.c. More...
#include <capture_raspberry_pico.h>
Public Member Functions | |
PicoCapturePIO () | |
Default Constructor. | |
virtual void | capture () |
starts the capturing of the data | |
void | cancel () |
cancels the capturing which is ccurrently in progress | |
virtual void | captureAll () |
Used to test the speed. | |
unsigned long | runtimeUs () |
provides the runtime in microseconds from the capturing start to when the data is available | |
float | frequencyMeasured () |
Provides the measured capturing frequency. | |
float | maxFrequency (int warmup=1, int repeat=2) |
float | divider () |
Public Member Functions inherited from logic_analyzer::AbstractCapture | |
AbstractCapture () | |
Default Constructor. | |
~AbstractCapture () | |
Destructor. | |
LogicAnalyzer & | logicAnalyzer () |
Provides access to the LogicAnalyzer. | |
virtual PinReader & | pinReader () |
Provides access to the PinReader. | |
virtual void | setStatus (Status status) |
Sets the status. | |
Protected Member Functions | |
void | start () |
starts the processing | |
float | calculateDivider (uint32_t frequecy_value_hz) |
determines the divider value | |
void | arm () |
intitialize the PIO More... | |
void | dump () |
Dumps the result to PuleView (SUMP software) | |
void | waitForResult () |
Wait for result and update run_time_us and buffer available. | |
Protected Member Functions inherited from logic_analyzer::AbstractCapture | |
virtual void | setLogicAnalyzer (LogicAnalyzer &la) |
Protected Attributes | |
PIO | pio = pio0 |
uint | sm = 0 |
uint | dma_chan = 0 |
uint | pin_base |
uint | pin_count |
uint32_t | n_samples |
uint32_t | n_transfers |
size_t | capture_size_words |
uint | trigger_pin |
bool | trigger_level |
float | divider_value |
uint64_t | frequecy_value |
float | max_frequecy_value = -1.0 |
bool | abort = false |
unsigned long | start_time |
unsigned long | run_time_us |
float | test_duty_cycle |
int | test_pin =-1 |
Protected Attributes inherited from logic_analyzer::AbstractCapture | |
LogicAnalyzer * | logic_analyzer_ptr = nullptr |
First version of Capture implementation for Raspberry Pico using the PIO. Based on https://github.com/raspberrypi/pico-examples/blob/master/pio/logic_analyser/logic_analyser.c.
|
inlineprotected |
intitialize the PIO
arms the logic analyzer
TODO proper trigger support pio_sm_exec(pio, sm, pio_encode_wait_gpio(trigger_level, trigger_pin));