Commit Graph

89 Commits

Author SHA1 Message Date
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 495b5aebc7 mcp3208, hip9011 2023-02-20 22:40:31 -08:00
Matthew Kennedy 666a41e496 hip9011 2023-02-20 22:29:48 -08:00
Andrey G e086176fc1 Support non-uniform dividers on ADC inputs (#4938)
* adc: support per-channel dividers

* S105: non-uniform analog dividers

* adc: default weak getAnalogInputDividerCoefficient() implementation

* adc: fix emulator compilation
2023-01-08 17:29:29 -05:00
rusefillc 33884f1f82 Support non-uniform dividers on ADC inputs #4938
maybe helping?
2023-01-08 15:37:51 -05:00
rusefillc 66866553e2 external muxes for internal ADC #3350 2023-01-07 22:09:43 -05:00
rusefillc b612c27917 external muxes for internal ADC #3350 2023-01-07 21:56:12 -05:00
Matthew Kennedy 96880543ca adc resubscription of the same sensor (#4947)
* adc resubscription of the same sensor

* overload function name

* fix logic

* thermistors and map
2023-01-06 08:09:17 -05:00
rusefillc 584c4b7019 efi::size 2022-10-27 20:35:37 -04:00
rusefillc fadc7edbdb Adc unregister (#4684)
* Sensor: unregister on the fly #4683

* Sensor: unregister on the fly #4683

* Adc unregister #4684

* Adc unregister #4684
2022-10-20 09:33:27 -04:00
Matthew Kennedy a13445478f consolidate analog vs. temp info commands (#4646)
* consolidate analog vs. temp info commands

* cleanup

* guard
2022-10-10 07:44:20 -04:00
rusefillc f9b849dd8f refactoring - reducing API between FW and Java 2022-09-11 02:16:47 -04:00
Andrey 25b6d39802 os_access.h dead? 2022-09-07 15:56:45 -04:00
rusefillc b3e13f12b4 Adc mux (#4379)
* adc mux

* cypress is a special ADC size case

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-26 14:12:00 +03:00
Matthew Kennedy efdae2322d Start -> start (#4366) 2022-07-21 15:17:32 -04:00
Matthew Kennedy a0d9a584db prototype overcurrent protected driver (#4029)
* stub passthrough protected driver

* plumbing

* include the thing

* signature

* dead

* tdg pdm build task

* s

* pdm pins

* tdg

* init properly

* remove gaps

* board doesn't fatal on start
2022-05-17 23:49:18 -04:00
Matthew Kennedy a2e1a079b8 allow enum_class in rusefi_hw_enums.h (#4104)
* make things c++ friendly

* install various canaries in coal mines

* using is much clearer than typedef

* fixing builds

* lps25

* trigger includes were a mess

* c -> c++ cleanup

* os util

* why did so many include os_util.h?

* fwd declare

* cypress/kinetis

* s

* eg33 happy

* happy sim

* cypress usb

* pch

* cypress

* doesn't need to include all that

* h7
2022-04-25 20:38:16 -04:00
Matthew Kennedy 0a1d18cf3b fix proteus legacy vbatt (#4092) 2022-04-25 17:08:04 -04:00
Matthew Kennedy 31c0afc79f remove mock adc (#3888)
* remove mock adc

* do these do /anything/?
2022-02-03 20:43:34 -05:00
Andreika 99c4dd4cb4 hellen81 ADC trigger 2021-12-01 13:03:08 -05:00
Matthew Kennedy 7296593448 remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Matthew Kennedy c1941f3a49 (void) -> () (#3550)
* static functions with (void)

* more

* Revert "more"

This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-15 13:02:34 +01:00
Matthew Kennedy a4998ab7a8 Fast adc API (#3327)
* dead fast tps

* oooooh map avg on hh7

* adc v4 fast support

* new fast API

* hardware.cpp

* adc v2

* warning

* guard

* no check required

* stub cypress/kinetis

* kinetis and cypress stubs
2021-10-07 08:29:01 -04:00
rusefillc d005cd6891 my first Lua 2021-09-01 02:37:36 -04:00
rusefillc cbdd36df92 my first Lua 2021-08-31 12:32:05 -04:00
rusefillc 6247a50662 Revert "Revert "memory savings (#3195)""
This reverts commit 86cf9cf7
2021-08-27 06:18:05 -04:00
rusefillc 86cf9cf7c9 Revert "memory savings (#3195)"
This reverts commit 1b485ca2
2021-08-27 02:32:31 -04:00
Matthew Kennedy 1b485ca2d8 memory savings (#3195)
* d

* dead code

* all your ram are belong to me

* turn off gpiochips we don't need

* save

* save by using the same file handle

* smaller stack ok

* these can be on the stack

* this is closer

* what about ccm?

* probing available

* now probe ccm

* ccm

* put stuff in ccm

* fsio

* memory usage

* memory
2021-08-26 23:05:31 +03:00
Matthew Kennedy fe74ace049 missed a little bit (#3192) 2021-08-24 17:00:14 -04:00
Matthew Kennedy df48806ec0 start allowing ADC change while running (#3100)
* allow re-register of the same sensor

* add api to unsubscribe

* do it for tps

* clear the pin

* happy test

* maybe make afr happy for now

* tests build

* happy simulator

* active configuration

* check valid

* we need vbatt now

* manage all pin init in init_sensors.cpp

* don't need that

* cleanup

* thermistors

* do two phase reinit in the right place

* config vs engine

* finally the tests are happy
2021-08-24 16:41:16 -04:00
Matthew Kennedy e6a6548b2a implement adc unsubscription (#3149)
* allow re-register of the same sensor

* adc unsub
2021-08-14 15:41:27 +03:00
Matthew Kennedy 39388c75d8 even more pch (#3112)
* s

* more

* s

* f7
2021-08-04 19:30:52 -04:00
Matthew Kennedy 4e6b61234f yet more pch (#3068)
* big pch energy

* put back ramdisk stub

* tests are happy

* h743 nucleo

* kinetis

* I love deleting code!

* make stepper happy

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-03 22:05:01 -04:00
Matthew Kennedy 098469b88c H7 ADC triggered by hardware timer (#3028)
* config

* allow changing adc speed

* timer triggered ADC

* ICU on nucleo

* turn that off too

* 10khz

* make those default for all h7

* I can't type
2021-07-23 14:50:35 -04:00
Matthew Kennedy 1a73dcc46e fast adc callback (#3031)
* fast adc callback

* guard

* missed one

* now cypress will be happy
2021-07-23 14:19:59 -04:00
rusefillc 79f04983eb New hardware testing commands #2978 2021-07-17 13:42:10 -04:00
Matthew Kennedy e3849b95d5 don't require EXTERN_ENGINE in every file (#2969)
* move enginePins

* no more extern engine

* uses

* more

* extern config too

* put this where it belongs

* include correct header

* merge
2021-07-16 18:13:33 -04:00
Andrey 122ef9f637 making code more testable 2021-07-14 22:37:05 -04:00
Andrey G 636c68efe2 Adc fixes (#2691)
* ADC: save few bytes

* ADC: fix limit checking, add note for futher users

* ADC: not used anymore
2021-05-13 15:51:18 -04:00
Matthew Kennedy 10de5ca77a s (#2683) 2021-05-11 15:45:35 -04:00
Matthew Kennedy 3dd6b2efc9 move FSIO aux analog inputs to sensor model (#2669)
* sensor entries

* init

* non-explicit for list init to work

* switch fsio

* no longer need this lua hook

* init
2021-05-09 19:47:37 -04:00
Matthew Kennedy 870538bc63 move ADC pin initialization (#2660)
* set the pin in adc subscription land

* remove from adc_inputs

* more subscriptions

* use our lib instead
2021-05-09 14:36:11 -04:00
Andrey G 2176d1656b ADC: internalIndex should be used as getAvgAdcValue argument (#2618)
* ADC: internalIndex should be used as getAvgAdcValue argument

-plus output messages re-formated

* ADC: logger -> efiPrintf
2021-05-03 16:44:19 -04:00
Matthew Kennedy 7c8c14fee2 Baro config (#2591)
* adjust API to allow i2c init to fail

* init

* proteus config

* 🎠🎠🎠

* buh

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-27 15:29:22 -04:00
Matthew Kennedy 967383dd8e remove simple cases of LoggingWithStorage (#2569)
* remove simple cases

* more simple

* serial

* s

* more

* try memory

* easy

* mmc acc

* that's how much memory

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-19 08:11:59 -04:00
Matthew Kennedy c168c748ea dead code, warnings (#2461) 2021-03-15 10:23:19 -04:00
Matthew Kennedy 540b9000d5 implement ads1015 driver (#2458)
* first approximation of ads1015

* fix ads

* misc

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-14 19:02:42 -04:00
Matthew Kennedy c111d23b3d ADC cleanup, enable oversampling on H7 (#2437)
* cleanup v2 adc

* simplify

* oversample on h7

* output 16b result

* port-ify ADC_MAX_VALUE

* simplify include

* guard for cypress

* make sim/tests happy

* 16x oversample + comment

* this check is uesless

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-08 14:50:50 -05:00
Matthew Kennedy caa161db42 STM32H7 Slow ADC (#2421)
* extract

* guard

* put some back

* put back

* slow is actually 500hz so slow is fine here

* no magic

* fix printFullAdcReport

* cast

* implement h7 adc ish

* analog switches

* bad merge

* no map avg on h7

* fix master while we're at it

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-04 20:58:56 -05:00
Matthew Kennedy b9e0d4db47 Extract slow adc (#2402)
* extract

* guard

* put some back

* put back

* slow is actually 500hz so slow is fine here

* no magic

* fix printFullAdcReport

* cast

* if we turn those off is it happy

* stub cypress/kinetis

* guard fast stuff better

* bad merge

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-04 19:55:09 -05:00