Commit Graph

138 Commits

Author SHA1 Message Date
Matthew Kennedy 8c87c19b5c SPARK_EXTREME_LOGGING cleanup 2024-09-18 22:11:13 -07:00
Matthew Kennedy 77c5a150ee fix small can board 2024-08-29 11:23:58 -07:00
Matthew Kennedy 75a50695c6 extend engineModules.apply_all to onEnginePhase 2024-08-28 02:26:16 -07:00
Matthew Kennedy 6884fb83d3 useless comment 2024-08-28 01:33:08 -07:00
Matthew Kennedy ebc102aa08 name VVT PWMs 2024-08-13 14:36:51 -07:00
Matthew Kennedy 918e0f4c17 format 2024-07-23 18:00:09 -07:00
Matthew Kennedy 82bbc6064e std::isnan 2024-07-23 15:48:43 -07:00
Matthew Kennedy 63b07e5d1f cisnan -> std::isnan 2024-07-22 12:05:17 -07:00
Matthew Kennedy dd8dea61c0 rename Executor -> Scheduler 2024-07-11 17:03:13 -07:00
Matthew Kennedy 07b61ee0b4 doc 2024-07-11 16:49:49 -07:00
Matthew Kennedy e61e4c4b09 remove scheduleByTimestamp() 2024-07-11 16:38:42 -07:00
Matthew Kennedy 1731b30337 remove scheduleForLater 2024-07-11 16:27:30 -07:00
Matthew Kennedy db90cb3e0d minor event_queue cleanup 2024-07-11 16:11:47 -07:00
Matthew Kennedy e7d2b1c17c compile-time enforcement of printf strings 2024-06-10 01:15:39 -07:00
Matthew Kennedy 80358ad54e setTimeNowUs(): replace global fiddling with a functino call 2024-04-27 01:59:38 -07:00
Matthew Kennedy 32d2a81529 more default init vs = 0 2024-04-27 01:32:45 -07:00
Matthew Kennedy 632c493c4f little bit of encapsulatino 2024-04-25 16:18:51 -07:00
Matthew Kennedy 8e4994627d default init is ok for these 2024-04-25 15:49:27 -07:00
Matthew Kennedy 79dfb0f2c4 wrap times in simple structs 2024-04-25 15:46:53 -07:00
Matthew Kennedy e332b32ed1 distinguish between "timestamp" and "duration" 2024-04-25 12:57:10 -07:00
Matthew Kennedy 498824eff4 tabs 2024-03-12 15:28:52 -07:00
Matthew Kennedy 9673ff01f3
implement staged injection (#331)
* output channel

* duty cycle etc math for second stage

* action_s utility

* basic enable switch

* staging fraction math

* implement staging logic

* wire up pins for second stage injectors

* staging UI

* Improve staged injection test, check scheduler arguments for other injection tests

* Stage 2 last pulse output channel, correct fuel consumption logic

* wall wet on the whole shot

* int vs size_t

* use a define instead of function so we get line numbers

* fix batch injection

* gauges

* bad test merge

* stub out secondary injector model
2024-01-07 15:22:39 -08:00
rusefillc daf9c19689
additional coverage (#336)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2024-01-07 12:53:07 -08:00
rusefillc d2eb532126
signal_executor_sleep is not part of real firmware (#334)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2024-01-07 12:39:26 -08:00
rusefillc c7a79619e0
encapsulation (#335)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2024-01-07 12:32:41 -08:00
Matthew Kennedy 9c3207f5ea event queue shadowing 2023-11-01 16:02:34 -07:00
Matthew Kennedy 1aa4d5d66e PWM shadowing 2023-11-01 16:02:27 -07:00
Matthew Kennedy 9c783a9cc7 missed one 2023-11-01 13:54:57 -07:00
Matthew Kennedy 1310eb4e29 lua and scheduler shadowing 2023-11-01 13:46:22 -07:00
Matthew Kennedy 7da4ab860c consolidate pwm logic 2023-10-06 14:21:47 -07:00
Matthew Kennedy 0050ef733b minor pwm logic cleanup 2023-10-06 11:50:08 -07:00
Matthew Kennedy cfa8696437 accept T& in addition to T* 2023-08-03 17:39:59 -07:00
Matthew Kennedy 71552374ab reset scheduling used count on launch 2023-07-26 10:35:20 -07:00
Matthew Kennedy d5f9479f28
ObdCode is enum class (#77)
* change ObdCode to enum class builds firmware

* test builds

* don't need this line at all

* can we go down to uint16_t?
2023-04-12 23:44:33 -07:00
Matthew Kennedy e5d28022ad spammy prints cleanup 2023-03-16 01:27:03 -07:00
Matthew Kennedy 718ad4a391 extract expected.h 2023-03-07 00:33:31 -08:00
Matthew Kennedy b6e3f105df state sequence api doesn't use triggervalue #55 2023-02-28 02:25:38 -08:00
Matthew Kennedy 2118aaff60 Allow scheduling_s to come from a pool (#4841)
* injection events use scheduling pool

* knock and prime

* bench test

* dropped this: *

* extract action before execute

* comment

* init allocated timers

* metrics

* dropped this: ,

* guard

* injection events use scheduling pool

* knock and prime

* bench test

* dropped this: *

* extract action before execute

* comment

* init allocated timers

* metrics

* dropped this: ,

* guard

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-12-10 17:55:51 -05:00
Matthew Kennedy 29db8e2474 Combine angle based event (#4884)
* Remove AngleBasedEventOld/New, only AngleBasedEvent now

* this 7 year old comment of old test code can go away
2022-12-10 17:07:02 -05:00
Matthew Kennedy a58e687d2f TriggerScheduler cleanup (#4844)
* TriggerScheduler cleanup

* remove TRIGGER_EVENT_UNDEFINED

* remove dead overload of scheduleOrQueue

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-28 08:55:38 -05:00
Andrey G cc9b1517ac compile warnings: signed vs unsigned and unused (#4713) 2022-10-30 09:47:53 -04:00
Matthew Kennedy 90489edb96 schedule ignition charge by angle instead of tooth (#4513)
* schedule ignition charge by angle

* same mistake as #4536

* s

* wrap sparkAngle too

* AngleBasedEventNew

* function moved

* implement scheduleOrQueue

* prints
2022-09-25 11:00:55 -04:00
Matthew Kennedy 4e78c4c922 two modes trigger scheduler (#4598)
* two modes trigger scheduler

* asOld

* hpfp
2022-09-20 05:28:23 -04:00
Matthew Kennedy fb2565952d pwm iteration limit to avoid float math accuracy loss (#4578) 2022-09-13 21:16:35 -04:00
Andrey G 2b4012b279 dead code, reduce typedefs (#4566)
* Do lightweight checks first

* Dead getTimeIgnitionSeconds()

Dead since 5274cffff3

* Get rid of efitime_t.

Purpose are not clear. Use efitick_t where ticks are used,
use efitimeus_t for uS, use efitimems_t or efitimems64_t for mS.

* Fix unit tests

* Fix misc: stm32f1_test_project
2022-09-11 16:08:11 -04:00
rusefillc cb3c070928 refactoring: type safety 2022-09-11 02:57:35 -04:00
Andrey 91179ac54b brutal encapsulation 2022-09-07 20:31:04 -04:00
Andrey f8d275f64b tear down Engine god object #4511
just trying different things
2022-09-07 20:25:49 -04:00
Andrey 25b6d39802 os_access.h dead? 2022-09-07 15:56:45 -04:00
Matthew Kennedy 62d55a98a4 get correct stamp (#4174) 2022-05-14 23:01:02 -04:00