Commit Graph

82 Commits

Author SHA1 Message Date
Matthew Kennedy a34e0bbdf2 Use a 0.5s timeout for over/underheat to reject transients 2024-09-24 18:35:44 -07:00
rusefillc d8e65a2c24
suggestion to improve naming (#294)
* Rename GetInternalBatteryVoltage() to GetInternalHeaterVoltage()

* sampling, heater: fix Battery vs Heater naming mess

---------

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2024-06-25 23:44:32 -07:00
Andrey G e70df58290
Underheat issue (#314)
* f0_module needs hack to start pump before closed loop

* Fix paranoid check

* Make START_PUMP_TEMP_THRESHOLD relative
2024-06-25 23:37:51 -07:00
Matthew Kennedy f2aef8fa06 an undisclosed source says these parameters are better #296 2023-11-22 19:27:29 -08:00
rusefillc fa042fb6f5
heater: shortcut if sensor is hot enough (#277)
* heater: shortcut if sensor is hot enough

* heater: shortcut if sensor is hot enougth

---------

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2023-11-19 13:10:42 -08:00
Matthew Kennedy 52f306b6f5 avoid NaN in case of zero battery voltage 2023-11-17 18:19:55 -08:00
Matthew Kennedy 35c84cf13b battery stabilization time with a timer 2023-11-15 20:54:57 -08:00
Matthew Kennedy 17acd065d3
cherry-pick timer from ECU and use it for sequencing logic (#289)
* enable timestamp api

* add timer class

* use unsigned integer for timestamps

* heater uses timers

* timer mocking and test adjustment
2023-11-15 17:42:37 -08:00
rusefillc 982cd32ee7
heater_control: do not preheat on low voltages (#286)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2023-11-15 17:21:16 -08:00
Matthew Kennedy c2cb3b9015 test heater state machine 2023-11-13 14:15:22 -08:00
Matthew Kennedy 7f5b7097e3 tests for heater output 2023-11-13 13:56:03 -08:00
Matthew Kennedy ff5b3ac3bb split heater thread and heater logic 2023-11-13 13:30:23 -08:00
Matthew Kennedy a7b081b882 extract heater class declaration 2023-11-13 12:55:48 -08:00
rusefillc 1b1103952f
let's have gcc help us (#278)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2023-11-03 20:27:49 -07:00
rusefillc 14f3a341f9
explicit struct fields (#272)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2023-07-22 15:34:22 -07:00
rusefillc b80b49753f
unused includes (#274) 2023-07-22 15:34:06 -07:00
Matthew Kennedy 2628d1d05c cycle 2023-06-23 14:41:40 -07:00
Matthew Kennedy d1c878bf13 kill off helpers to get heater/sampler stuff 2023-06-23 14:38:17 -07:00
Matthew Kennedy a8ac2698c4 class-ify HeaterController 2023-06-23 13:50:01 -07:00
Matthew Kennedy b8f11741b5 heater uses sampling class 2023-06-20 17:26:54 -07:00
rusefillc 36d57e7d73
TS: report heater effective voltage (#225)
(cherry picked from commit c37180517d5522876a7efb7fcc17a3ca40ffee9f)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2023-04-17 14:10:38 -07:00
Matthew Kennedy 9d4fabeda7 Use temperature thresholds instead of ESR thresholds 2023-03-22 14:59:52 -07:00
Andrey G e9b942df31
heater_control: hanle no supply state (#219) 2023-03-21 11:20:19 -07:00
rusefillc b5ed6d3af7
heater_control: smarter PWM duty limiting for VBat measurement (#196)
Apply duty cycle limit only 2 cycles of 20 (per second). This
allows 100% duty PWM while heating sensor on low VBat.

(cherry picked from commit 28a01bd6c3dad0d0712a3b6412b9e87fe514555b)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2023-02-25 11:51:12 -08:00
rusefillc 4148ba1567
heater: do index to channels mapping in all cases (#189)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2023-02-05 12:39:21 -08:00
rusefillc f4bd1a4197
Smaller version of heater settings for other types of sensors (#183)
* heater settings for other types of sensors

* port: GetSensorType

* fancier C++ version

* fancier C++ version

* Why not a function

---------

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2023-02-01 11:43:52 -08:00
Andrey G 1aa7c661f6
f1_rev and threads (#173)
* f1_rev3: high speed (strenght) for heater PWM output

* threads: set name for all thread

* f1_dual: enalbe CH_CFG_USE_REGISTRY so GDB can see thread

* f1_rev3: enalbe CH_CFG_USE_REGISTRY so GDB can see thread
2022-12-12 19:29:32 -08:00
Matthew Kennedy 1584b1ff4d save ram 2022-12-01 15:51:21 -08:00
Andrey G cddcd0d88c
Multichannel (#134)
* Multichannel AFR

* heater: fixes for multi channel mode

* f1_dual: fix configuration names

* pump_dac: fixes for multi-channel mode

* pwm: fixes for multichannel mode

* pump_control: reference instead of pointer

* sampling: reference instead of pointer

* heater_control: reference instead of pointer

* sampling: comment about heater/battery voltage

* f0_module: fixes for multi-channel update

* f1_rev2: fix for multichannel AFR

* hello rev 3

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-08-29 17:19:30 -07:00
rusefillc b298389fb5
Bat measurment (#113)
* board: f1_dual: add way to measure battery through Heater-

* heater_control: allow board to limit max heater duty

* board: f1_dual: use max sample for battery measurement, filter

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-15 00:07:13 -07:00
Andrey G d3e460a9a6
Uart debug (#64)
* heater: export state and description

* pump_dac: save and export Ipump

* float interpolation helpers

* Show heater state, heater duty, temperature and fault over uart

* uart: more stack for thread
2022-05-11 01:41:07 -07:00
Matthew Kennedy 2a2b438fc6 static 2022-04-06 17:23:18 -07:00
Andrey G bc0686c826
Smarter state machine to use internal vbatt when CAN not connected (#57)
* Smarter state machine to use internal vbatt when CAN not connected

* Style
2022-04-06 14:07:39 -07:00
Matthew Kennedy 66b891bf79 heater controller pulls from CAN world instead of push 2022-04-06 01:22:09 -07:00
Matthew Kennedy a376b54b55 report duty as float 2022-01-26 10:56:58 -08:00
rusefillc 3a5dc0208e
static (#49)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-25 19:11:57 -08:00
Matthew Kennedy 6557809da2 send heater duty 2022-01-04 11:16:46 -08:00
Matthew Kennedy 2bda28226a extract fault 2022-01-01 21:10:55 -08:00
Matthew Kennedy 8cb60d5b18 pal heater device 2021-12-27 20:42:57 -08:00
Matthew Kennedy f675c63279 comment 2021-11-04 15:07:47 -07:00
Matthew Kennedy 0a117089b8 uppercase functions 2021-11-03 23:02:11 -07:00
Matthew Kennedy 10cbc928b0 make reality match the comment 2021-07-16 10:36:05 -07:00
Matthew Kennedy 18cc209f72 listen to heater enable bit 2021-07-15 21:50:22 -07:00
Matthew Kennedy 24cdee9c28 correct preheat duty 2021-07-15 21:48:24 -07:00
Matthew Kennedy e501510e80 less D 2021-07-12 23:49:55 -07:00
Matthew Kennedy 1119d79856 heater tweaks 2021-07-12 23:45:35 -07:00
Matthew Kennedy 21a3ae4939 overvolt protect 2021-07-12 22:44:42 -07:00
Matthew Kennedy 24fe166799 pid tuning, overvolt protect 2021-07-12 22:40:47 -07:00
Matthew Kennedy 00ba70522b heater control 2021-07-12 15:46:10 -07:00
Matthew Kennedy 9ff5df55fd name 2021-07-12 15:33:10 -07:00