brisk
|
c5d8adacf7
|
pulse_counter_ulp: Enable ULP coprocessor on ESP32-S3
The S3 has separate sdkconfig configuration options for the ULP, which
appear to operate in addition to the generic versions.
|
2024-11-17 21:10:00 +10:30 |
|
brisk
|
e7f86e4fc3
|
pulse_counter_ulp: Add test specific to esp32-s3
|
2024-11-17 21:03:58 +10:30 |
|
brisk
|
e86ade632d
|
pulse_counter_ulp: Clang tidy
|
2024-10-07 23:17:42 +10:30 |
|
brisk
|
8c8bde9b90
|
pulse_counter_ulp: Linter doesn't like C++17 nested namespaces
|
2024-10-07 22:37:43 +10:30 |
|
brisk
|
3208a2f0c5
|
pulse_counter_ulp: Fix namespace
|
2024-10-07 22:30:44 +10:30 |
|
brisk
|
a9b1f32828
|
pulse_counter_ulp: Add namespace to dummy header to pass lint
|
2024-10-07 22:25:00 +10:30 |
|
brisk
|
36e1573927
|
pulse_counter_ulp: Add ulp_main.h to satisfy clang-tidy
This is generated by IDF at compile time, but clang-tidy doesn't know about it so fails at its inclusion.
|
2024-10-07 22:17:52 +10:30 |
|
brisk
|
70ac9daf4c
|
pulse_counter_ulp: Try using ulp_main as a system include
|
2024-10-06 21:15:10 +10:30 |
|
brisk
|
2b7fc64e46
|
pulse_counter_ulp: Add required structure to dummy header
|
2024-10-06 19:18:17 +10:30 |
|
brisk
|
cdb0d0de9b
|
ulp_pulse_counter: Add dummy ulp_main.h to appease clang-tidy
The real version is generated by IDF
|
2024-10-06 19:08:52 +10:30 |
|
brisk
|
6900b97b25
|
pulse_counter_ulp: clang-tidy exlusions on IDF generated aspects
|
2024-10-06 18:15:09 +10:30 |
|
brisk
|
1feb0bf8cb
|
pulse_counter_ulp: Fix enum case
|
2024-10-06 18:08:29 +10:30 |
|
brisk
|
ad3b75601e
|
pulse_counter_ulp: Fix whitespace
|
2024-10-06 17:34:08 +10:30 |
|
brisk
|
bc8dd18bf5
|
pulse_counter_ulp: Add brisk0 as codeowner
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
8619852a28
|
pulse_counter_ulp: Add tests
Modified from pulse_counter, reduced in scope to esp32
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
e5ac747225
|
pulse_counter_ulp: Validate platform properly
Only available on ESP32 with ESP-IDF
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
7b9d000522
|
pulse_counter_ulp: Tidy comments
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
c57ad9fff9
|
pulse_counter_ulp: Count pulses not edges
- Count both separately in ULP program
- Manage pin inversion manually in update()
- Take into account configured mode
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
40b18666c9
|
pulse_counter_ulp: Remove total sensor automation
This automation doesn't preserve state over deep sleep, making it unhelpful for
the ULP pulse counter.
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
67b746693f
|
pulse_counter_ulp: Record and dump all config items
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
8b66ff90d8
|
pulse_counter_ulp: fix typo in bc64701
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
4a8907d70d
|
pulse_counter_ulp: Store mean_exec_time in Ulp Program
This lets the estimated interval survive sleep, and finally provide reasonable
interval estimates over deep sleep periods.
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
2b453289a9
|
pulse_counter_ulp: Use factory method to construct UlpProgram when we're ready
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
5646dd5d0c
|
pulse_counter_ulp: Make sleep duration configurable, keep estimate of ulp runtime
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
bd9029c2b2
|
pulse_counter_ulp: avoid zero
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
c882b58e53
|
pulse_counter_ulp: Don't break chrono type-safety
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
b41746cc54
|
pulse_counter_ulp: Use std::chrono instead of millis()
millis() appears to jump when a time component synchronises. steady_clock() should avoid this.
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
e736091950
|
pulse_counter_ulp: refactor UlpProgram class
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
2ba3b85440
|
pulse_counter_ulp: Add run_count to ULP program
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
31e72a5232
|
pulse_counter_ulp: remove time component
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
7cd5bad1c2
|
pulse_counter_ulp: only read valid bits of ulp_edge_count
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
bd8858e053
|
pulse_counter_ulp: CountMode to enum class
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
4517698322
|
pulse_counter_ulp: rename classes and remove filter
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
5fb117e0ea
|
pulse_counter_ulp: expunge other storage types
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
3059e65d13
|
pulse_counter_ulp: Remove filter configuration
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
5f98bf4808
|
pulse_counter_ulp: Remove unnecessary configuration variables
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
9c70733028
|
pulse_counter_ulp: Rename files to use suffix
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
7e22e7f813
|
pulse_counter: Restore original pulse counter
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
2b51fe7f95
|
pulse_counter: Move ulp pulse_counter to its own folder
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
146f733be9
|
pulse_counter: Use 64 bit time always
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
5efcbf8dfc
|
pulse_counter: save last_time_ as preference
This lets rates be calculated across deep sleeps when a time source is configured
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
f2046573fb
|
pulse_counter: When using Time, don't update until time sync
Avoids nonphysical spikes across reboots, sleeps or time syncs
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
b230491fd2
|
pulse_counter: enable use of RealTimeClock
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
68b0e145f8
|
pulse_counter: ULP maintain total pulse-count through deep sleep
Note that the ULP program is not able to count pulse rate through deep-sleep yet due to the loss of timing over deep-sleep
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
a7c68f4e08
|
pulse_counter: Remove ULP self-wakeup
Wakeup will be handled by the deep-sleep component instead
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
bb0ed5b855
|
pulse_counter: Replace storage enum with dependency injection
This substantially reduces the need for #ifdefs to handle conditional dependency on the ULP system
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
fe533952cc
|
pulse_counter: conditionally compile ULP
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
30d4a7fb34
|
pulse_counter: Integrate platformio ulp example into pulse_counter
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
49b4169f51
|
pulse_counter: Add ULP sources from Platformio example
Source: https://github.com/platformio/platform-espressif32/tree/develop/examples/espidf-ulp-pulse
|
2024-10-06 17:25:47 +10:30 |
|
brisk
|
349dc506ce
|
pulse_counter: Add custom CMakeLists when using use_ulp
This is necessary to compile the ULP program in ESP-IDF
|
2024-10-06 17:25:47 +10:30 |
|