Commit Graph

529 Commits

Author SHA1 Message Date
Matthew Kennedy 387c03a4d7 avoid bogus temperature with disconnected sensor 2022-12-06 17:00:20 -08:00
Matthew Kennedy a7961e178f bad signature copypaste 2022-12-06 16:59:36 -08:00
Matthew Kennedy d0434da08f ini updates 2022-12-06 16:58:28 -08:00
Matthew Kennedy 4d37f3748a oops snuck in 2022-12-06 16:57:03 -08:00
Matthew Kennedy 3807bb20e2 ini updates 2022-12-06 16:46:07 -08:00
Matthew Kennedy 36c0c3e4ab spelling 2022-12-06 15:53:36 -08:00
Matthew Kennedy 85365bcb68
faster f1 clocks (#172)
* faster f1 clocks

* PWM happy
2022-12-03 17:23:02 -08:00
Matthew Kennedy e015576e71 disable aux out dac PWM primary outputs as it conflicts with serial 2022-12-03 02:00:52 -08:00
Matthew Kennedy 1543561ed2 Revert "Revert "turn off unused OS features""
This reverts commit e48fa2cbba.
2022-12-03 01:35:20 -08:00
Matthew Kennedy e48fa2cbba Revert "turn off unused OS features"
This reverts commit cc25a0f94f.
2022-12-03 01:15:01 -08:00
Matthew Kennedy 3c0f930508 ini updates 2022-12-02 23:31:32 -08:00
Matthew Kennedy 6d0c971ec9 typo 2022-12-02 22:34:26 -08:00
Andrey G 94c348b88b
Jdy33 (#171)
* tunerstudio: support JDY33 BT module init on UART

* tunerstudio: BT: try most popular baudrates first

* tunerstudio: BT: protect from overflow

* tunerstudio: BT: limit retries

* tunerstudio: BT: directly do chprintf() to SD device

* TS: serial: make BT setup optional
2022-12-02 14:08:11 -08:00
Matthew Kennedy cc25a0f94f turn off unused OS features 2022-12-02 13:20:35 -08:00
Matthew Kennedy 320efe05a5 memory savings 2022-12-02 02:07:21 -08:00
Matthew Kennedy f654cbd14b don't keep two or three copies of the config 2022-12-02 01:46:23 -08:00
Matthew Kennedy 75d48dfe8e tweak uart debug text 2022-12-02 00:58:03 -08:00
Matthew Kennedy 91c989dc9a speed tuning 2022-12-01 23:41:19 -08:00
Matthew Kennedy 0870981763 minor cleanup 2022-12-01 22:55:55 -08:00
Matthew Kennedy 91677672bf
use gcc 11.3 (#166)
* use gcc 11.3

* does the full image work?

* does this work?
2022-12-01 16:15:05 -08:00
Matthew Kennedy 3518b4397a save f0 memory, turn off OS features 2022-12-01 15:59:30 -08:00
Matthew Kennedy 36a2fc0a14 save ram 2022-12-01 15:52:03 -08:00
Matthew Kennedy 1584b1ff4d save ram 2022-12-01 15:51:21 -08:00
Matthew Kennedy fa00aa0ad4 save ram 2022-12-01 15:51:01 -08:00
Matthew Kennedy 2737e710d4 auxout 2022-12-01 15:42:21 -08:00
Matthew Kennedy a2a019dbac add config 2022-12-01 15:40:36 -08:00
Matthew Kennedy 5824028b54
update libfirmware (#169)
* update

* fragments

* livedata

* livedata
2022-12-01 13:50:21 -08:00
Matthew Kennedy d2f676c704 hand merge 2022-12-01 13:23:47 -08:00
Matthew Kennedy e99c902e0f hand merge: heater enum 2022-12-01 13:20:54 -08:00
Matthew Kennedy 38b0d709b1 hand merge: dual ini 2022-12-01 13:20:45 -08:00
Andrey G d69505171a
Configs cleanups (#164)
* f1_dual, f1_rev3: use Serial for TS not for debug

* f1_dual: config cleanup

* EGT_CHANNELS is better option for optional compilation of max driver

* max31855: supress warning
2022-10-06 11:24:11 -07:00
Andrey G 516747b629
Livedata update (#163)
* max31855: add EGT to livedata

* livedata: getEgtLiveDataStructAddr() returns NULL for boards with no EGT

* livedata: report AFR sensor(s) state

* livedata: report heater state

* uart: fix for max31855 update
2022-09-20 14:50:06 -07:00
Andrey G adae19db09
Extract common code for all F1 devices (#162)
* main: acctually call InitConfiguration()

* f1_rev2: enable EFL and MFS (Managed Flash Storate)

* f1_dual: enable EFL and MFS (Managed Flash Storate)

* f1 boards: extract common code

* port.h: add LoadDefaults() method to Configuration class

* f1 boards: store Configuration to MFS

* f1 boards: common getTsSignature() for all f1 boards
2022-09-19 16:31:30 -07:00
Andrey G 0a4a609db9
port: GetConfiguration() return reference, not copy (#161) 2022-09-19 15:27:08 -07:00
rusefillc 5fbe108258
dual.ini: gauge and indicator showing heater state (#160)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-18 14:51:23 -07:00
Andrey G b5d94014cd
max31855: ups, reference, not copy (#146) 2022-09-16 11:27:16 -07:00
rusefillc cf717982ab
dual.ini: add AFR fault gauge and indicator (#158)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-16 11:26:53 -07:00
Andrey G a5fed4d23a
tunerstudio: cleanup unused/commented code (#155) 2022-09-15 11:56:49 -07:00
rusefillc 9ec8d56e2b
port.h: remove duplicate, GetConfiguratiuonSize() returns size_t (#152)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-15 11:56:17 -07:00
rusefillc 3147d6ab75
ini: dual: export CanIndexOffset to TS (#153)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-15 11:55:06 -07:00
rusefillc cb42cf6f27
dual.ini: EGT state indicator and gauge (#154)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-15 11:54:48 -07:00
rusefillc 5f6e62a7e0
f1_rev3 and f1_rev2 both use same ini file (#149)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-07 19:56:23 -07:00
rusefillc 3349361f6b
tunerstudio: restore settings write command (#148)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-07 15:16:42 -07:00
rusefillc 714efa02ca
f0_module: empty InitConfiguration (#141)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-07 14:08:37 -07:00
rusefillc 7688b367e8
Ini and ts (#144)
* ini: update rev2 ini file

* f1_dual: add ini file

* f1_dual: signature

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-06 16:53:52 -07:00
rusefillc a57682a4b6
Rev2 progress (#143)
* Rev2: define AUX output PWM device and channels

* Rev2: enalbe TIM1 used for aux outputs

* Rev2: aux pwm pins: no need to be 50MHz fast

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-06 16:53:22 -07:00
rusefillc 1647a944cf
fault: keep fault state for each AFR channel (#139)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-06 16:53:11 -07:00
rusefillc 268f8ddae7
TS: actually cal SaveConfig (#142)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-05 22:53:41 -07:00
rusefillc a652715873
interpolation helpers are no longer used (#145)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-09-05 22:51:49 -07:00
rusefillc bfe0b3a2c9
Dac logic (#138)
* auxout: support analog output through DAC

* auxout: empty InitAuxDac for boards with no analog out

* numbers

* numbers

* less fun comment

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-08-31 18:02:02 -07: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 2cc460adba
Rev3 dac (#137)
* f1_rev3: STM32 is 64-pin

* f1_rev3: enable DAC driver, enable HW block

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-08-29 17:12:49 -07:00
rusefillc 09872e0d3c
F103 rev 3 (#136)
* f1_rev3: add board support (mostly copy-paste)

* f1_rev3: add to workflows

* hal_mfs.mk - one way or another we will use MFS for sure in this repo

* SPI means EGT and EGT means SPI

* one step towards master

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-08-20 11:39:03 -07:00
rusefillc 2efd64d0b9
SPI means EGT and EGT means SPI (#135)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-08-20 11:25:16 -07:00
rusefillc 4b79aa451e
refactoring: extract magic constant (#133) 2022-08-09 22:59:36 -07:00
rusefillc c1057ad951
f1_dual: limit max heater duty (#132)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-08-01 00:17:06 -07:00
Andrey G 0572719783
Makefile: add ChibiOS C++ wrappers (#129)
After adding max31855 driver linker needs __cxa_pure_virtual.
I'm not a C++ expert, bit this wrapper already exist in ChibiOS
so lets use it.
2022-07-21 10:14:21 -07:00
rusefillc 41e87292c5
Add max31855 driver (#103)
* Add max31855 driver

* f1_dual: enable EGT driver

* bit.h: bit helper

* max31855 driver progress

* max31855 driver fixing guard

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-20 16:36:23 -07:00
Andrey G dd9e9b94d1
Linux scripts update and improve (#127)
* tools: linux update scripts: more verbose, more checks

* tools: can_update: more checks, help
2022-07-20 15:37:20 -07:00
Andrey G c2e28dd24a
Can fix (#126)
* ChibiOS: fix CAN on GD32

* CAN: remove workaround for GD32 (now in ChibiOS)
2022-07-19 15:36:34 -07:00
Matthew Kennedy a08a7dc3de fragments from lib 2022-07-18 15:26:00 -07:00
Andrey G 63ef4b7a10
TS more and more (#123)
* TunerStudio: simplify enable magic

* TS integration: livedata, FragmentEntry

* f1_dual: reorder TS hooks

* f1_rev2: dummy settings for TS

* f1_rev2: TS signature

* f1_rev2: TS ini file

* Integrate with TS interface

* livedata: access adapters, no extern, make livedata static

* FragmentEntry: no FragmentEntry()

* livedata: struct not needed
2022-07-18 12:31:09 -07:00
rusefillc 27566f7b0b
Deliver (#125)
* initial version

* it works!

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-18 02:28:22 -07:00
Andrey G 8f5a23c2bc
main: always call InitUart, get rid of ECHO_UART (#122) 2022-07-17 16:58:56 -07:00
Matthew Kennedy f40064663b update libfirmware 2022-07-16 22:31:59 -07:00
Matthew Kennedy 1be860538b use math lib 2022-07-16 19:42:30 -07:00
Matthew Kennedy 6135464dc8
use libfirmware for crc, table lookup (#121)
* use libfirmware for crc

* kick

* bootloader

* bootloader

* use shared interpolate2d

* cleanup
2022-07-16 19:08:45 -07:00
rusefillc 700d763c29
f1_dual: fix aux pwm outputs (#119)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-15 23:02:02 -07:00
rusefillc 55f65ad02d
Ts top down (#104)
* TS top down

* TS top down

* TS top down

* TS top down

* Ts top down #104

removing the controversial part

* Ts top down #104

removing the controversial part

* docs

* fix build (switch to serial)

* f1_dual: UART->Serial

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-15 11:10:15 -07:00
rusefillc cb7c9bf612
bootloader: make bootloader flash area reserve optional (#118)
and increase config flash area to 8K

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-15 11:08:44 -07:00
rusefillc a251f60f7a
pump_dac: return float not scalled int (#117)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-15 01:48:49 -07:00
Andrey G 18c22abdfa
bootloader: make bootloader flash area reserve optional (#111)
* bootloader: make bootloader flash area reserve optional

and increase config flash area to 8K

* f1_rev2: empty blflash section
2022-07-15 00:07:41 -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
rusefillc e51dc3ba0b
f1_dual: set O0 optimization level due to ADC issue on GD32 (#116)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-15 00:06:44 -07:00
rusefillc ee230be7e2
Introducing dual channel board (#109)
* port: ID_SEL2_PIN is optional

Dual version is out of mcu pins and implement only one sel pin.

* board: f1_dial: add dual channel board

* GH actions: add f1_dual build to actions

* f1_dual: use uart driver, not serial

* f1_dual: setup correct remaps

* f1_dual: DEBUG: enable uart debug (disable TS)

* board: f1_dual: add way to measure battery through Heater-

* fix dual board

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-13 23:14:46 -07:00
Andrey G 50b1483c1b
Can mailboxes & timeout (#110)
* CAN: rotate mailboxes used for TX (workaround for GD32)

To avoid overwrite of not-yet-transmitted message by next one.

* CAN: 100mS timeout
2022-07-13 23:10:58 -07:00
rusefillc fa6df58caf
flash.bat utility (#107)
* tested on real stm32

* docs

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-13 10:50:13 -07:00
rusefillc 124c403783
byteswap fix (#108)
* byteswap fix

* no usage even better

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-13 10:37:35 -07:00
rusefillc 463d3d382b
helping Windows openblt build (#106)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-13 09:19:23 -07:00
rusefillc 87390c6218
ignoring OpenBLT artifacts (#105)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-13 09:18:58 -07:00
rusefillc e90cc45787
Flash scripts (#102)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-04 04:24:20 -07:00
rusefillc 1561c13a15
f1_rev2: OpenBLT: update gpio and interfaces setup (#97)
* f1_rev2: OpenBLT: update gpio and interfaces setup

* f1_rev2: OpenBLT: set default board name

* f1_rev2: no need to have bootloader region in main app LD file

* f1_rev2: use gpio settings from application include file

* f1_rev2: OpenBLT: update gpio and interfaces setup

* f1_rev2: OpenBLT: close backdoor

* f1_rev2: OpenBLT: fix uart setup

* f1_rev2: OpenBLT: gracefully close CAN after use

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-04 03:50:31 -07:00
rusefillc 0119d8e716
comments (#101)
* comments

* comments

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-03 20:48:42 -07:00
rusefillc 1454c10713
AUX outputs (#95)
* AUX outputs

* Rev2: define AUX output PWM device and channels

* Rev2: enalbe TIM1 used for aux outputs

* Rev2: define aux output gain

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-03 12:11:12 -07:00
rusefillc fe50e80a89
original hardware by Dave has changed enough (#100)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-03 12:07:01 -07:00
rusefillc 542601da41
Board Rev 2 (#98)
* Board Rev 2

* f1_rev2: fix for new AnalogResult format

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-03 00:00:43 -07:00
rusefillc d1a2ee2b5b
Rev 2: default settings for LSU4.9 (#99)
* Rev 2: default settings for LSU4.9

* Rev2: LSU 4.2 and ADV ESR drive pins

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-03 00:00:17 -07:00
rusefillc 1efc499126
Rev2: GD32 ADC workaround (#96)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-02 13:48:27 -07:00
rusefillc 0430e4a7ba
board: common make script (#73)
* board: common make script

(cherry picked from commit cb087c60e9)

* common_make -> build_f1_board

* f1_rev2: use build_f1_board.sh helper

* Add encedo hex2dfu tools (bin for linux and win)

See https://github.com/encedo/hex2dfu

* Makefile: priduce srec too

* f1_rev2: OpenBLT: build bin and hex files

* f1_rev2: OpenBLT: optimize for size to fit into 8K flash

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-02 13:47:55 -07:00
rusefillc 2fa9549d83
0701 rev2 2 (#91)
* Rev 2: VM_RESISTOR_VALUE

(cherry picked from commit 84ae91fc67cf6764afd5b00210edbc3cfe4444a5)

* Rev 2: default settings for LSU4.9

(cherry picked from commit 5a1fe84bc1ec8d7ee6e0a5f2906a1b18d2ff8a8e)

* Per-board VM_RESISTOR_VALUE

(cherry picked from commit 0bdd19e058db579bed13488066df1176ea9addb2)

* Rev2: ID correct pins

(cherry picked from commit 59e4b36ad9bc7c166c3dae7e25b6317caf562056)

* Rev2: LSU 4.2 and ADV ESR drive pins

(cherry picked from commit 2f2b4399431136951fe2fa6819f44ba28c3cda17)

* Rev2: aux pwm pins: no need to be 50MHz fast

(cherry picked from commit b0af5c07c391438ca561118174df498207255f3b)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-01 15:57:05 -07:00
rusefillc 076406e4b0
f1_rev2: add OpenBLT (#92)
(cherry picked from commit 85e1ac8e5e75e22b247db0f5a512656453425729)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-01 12:12:24 -07:00
Andrey G d3d260b828
f1_rev2: set O0 optimization level due to issue with ADC on GD32 (#94) 2022-07-01 12:10:28 -07:00
Andrey G 5ec79b52a5
f1_rev2: this is single channel board (#93) 2022-07-01 12:03:48 -07:00
rusefillc 7d8eaab3d1
Min rev2 (#90)
* Board Rev 2

(cherry picked from commit 2f1e2bd3e27fdfd43f0ccf8292aacfb1194060fc)

* CI good

(cherry picked from commit 2163af402ebc40f76fa53ac8f1648949b12aa50f)

* min r2

* min r2

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-01 01:17:04 -07:00
rusefillc fad49f553f
Crc bootloader (#88)
* more code reuse

* more code reuse

* more code reuse

* more code reuse

* more code reuse

* more code reuse

* make it compile and actually include all the functions

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-30 10:07:33 -07:00
rusefillc 1b0145d104
GD32: ADC workaround (#83)
(cherry picked from commit 02fd9f248189e3e801b50c920e1166daa23283bc)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-06-29 12:14:08 -07:00
rusefillc 1e19b43d35
s/C/CPP/ (#86)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-06-29 11:43:36 -07:00
Matthew Kennedy cca3c6a5de I'll just do it myself, then 2022-06-29 11:41:45 -07:00
rusefillc 1e3dc3808e
0624 pwm (#81)
* pwm.cpp: support multichannel

(cherry picked from commit 27995893ee)

* pwm.cpp: allow external config

(cherry picked from commit 70856151b7)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-06-29 11:39:50 -07:00
rusefillc ccb790f532
Steal tunerstudio files from RusEFI (#71)
* Steal tunerstudio files from RusEFI

(cherry picked from commit dcba04fbd3)

* Steal crc32 files from RusEFI

(cherry picked from commit bfe88b5297)

* fix TS steal

(cherry picked from commit a77b9761da)

* fix crc32

(cherry picked from commit cdb4df09f6)

* TS stealed from RE

(cherry picked from commit ff470e1340)

* Steal TS

(cherry picked from commit d11406edc2)

* Steal Thread Controller

(cherry picked from commit 2aa5bbd571)

* Update TunerStudio protocol files

(cherry picked from commit 58f14216ec)

* byteswap.h

(cherry picked from commit 581d647fd4)

* bugfix

* one more file to compile, another file not ready - removing from this PR

* removing more from this PR

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-06-29 01:29:40 -07:00
rusefillc 8269687295
Add OpenBLT submodule (#76)
(cherry picked from commit 712eddf0b8)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-06-29 01:03:08 -07:00
rusefillc 1dc862229e
can: avoid stack overflow (#77)
(cherry picked from commit 6f15807902)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-06-25 17:27:33 -07:00
rusefillc 3d14be42dc
Update ChibiOS submodule (#79)
(cherry picked from commit 7993021597)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-06-25 17:27:18 -07:00
rusefillc e34094e13d
Prepare for multi-channel boards (#72)
* Prepare for multi-channel boards

(cherry picked from commit 8b713cebfc)

* this belongs in wideband_board_config.h they say

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-06-24 14:51:22 -07:00
rusefillc f6b4b3a34c
f1_dave: PA1 is pump PWM output, should be alternate (#75)
(cherry picked from commit b31e642943)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-06-22 11:10:51 -07:00
rusefillc 4ee8610645
More stack (#74)
(cherry picked from commit eb20d28bad)

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-06-22 11:10:16 -07:00
Matthew Kennedy ea8c1a7d1a send temperature for real 2022-05-18 23:49:34 -07:00
Matthew Kennedy 62f5b9e7ae clamp temperature estimation 2022-05-18 23:45:42 -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 2167016c16 format 2022-05-07 11:15:11 -07:00
rusefillc b9b94fcadc
Temperature (#63)
* integer id interpolation

* Calculate sensor temperature based on Ri

* Sensor Ri around 25C

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-05-07 11:12:20 -07:00
Andrey G 87763c55a4
f1_dave: port: use designated initializers (#65) 2022-05-06 22:36:44 -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
Andrey G bcc62880da
f1_dave: board cleanup and pinmux fixes (#56)
* f1_dave: clean-up board.h

* f1_dave: PB6 should be output+alternate

Set using VAL_GPIOBCRL, no need to call palSetPadMode

* f1_dave: PB12 ESR driver, should be high speed (hi current)

* f1_dave: PB13 - Blue LED should be output push-pull

* f1_dave: fix pinmuxes, add comments
2022-04-06 14:07:00 -07:00
Matthew Kennedy 354888f2b8 comments 2022-04-06 01:31:35 -07:00
Matthew Kennedy 66b891bf79 heater controller pulls from CAN world instead of push 2022-04-06 01:22:09 -07:00
Matthew Kennedy dc077caff1 api to get internal battery voltage 2022-04-06 01:08:40 -07:00
Matthew Kennedy ea262c3822 battery voltage config 2022-04-06 01:07:29 -07:00
Matthew Kennedy b838c414fa sample battery voltage 2022-04-06 01:07:18 -07:00
rusefillc 636d8a30bc
ChibiOS: use rusefi/master.wideband branch (#54)
* ChibiOS: use rusefi/master.wideband branch

* Actually update the submodule pointer
2022-04-05 14:47:01 -07:00
rusefillc 3f3cb4a7ad
PB6 with hardware mod is the simplest way forward (#50)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-04-05 14:46:46 -07:00
rusefillc a981063a8b
UART (#52)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-04-04 14:18:08 -07:00
Matthew Kennedy 2849b984dd some per board config 2022-01-28 11:21:38 -08: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 86034506b0 can runs at 24mhz 2022-01-13 12:09:44 -08:00
rusefillc d9b83379f3
CAN options (#42)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-13 10:55:03 -08:00
Matthew Kennedy 660dad473c let's go back to 48 2022-01-13 10:45:12 -08:00
Matthew Kennedy 23a05968d3 run at 64MHz 2022-01-13 10:28:33 -08:00
rusefillc 51775e719b
ID pins to pinout header (#41)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-11 17:44:46 -08:00
Matthew Kennedy 206a5c8544 Merge branch 'master' of https://github.com/mck1117/wideband 2022-01-10 01:49:51 -08:00
Matthew Kennedy a182b77152 Merge branch '20210110-hotfix' 2022-01-10 01:49:45 -08:00
Matthew Kennedy 437efb1cc6 adjust CL timeout parameters 2022-01-10 01:46:43 -08:00
Matthew Kennedy 6557809da2 send heater duty 2022-01-04 11:16:46 -08:00
Matthew Kennedy 4f2fd95c46 f1 analog mapping 2022-01-04 11:08:17 -08:00
Matthew Kennedy 085b0419db clarify for f1 2022-01-04 11:06:01 -08:00
Matthew Kennedy b910db45ba f1 board.h 2022-01-04 11:03:09 -08:00
Matthew Kennedy b420d7aa56 Revert "open question but probably useful (#31)"
This reverts commit dd4b3dd081.
2022-01-04 10:41:35 -08:00
rusefillc dd4b3dd081
open question but probably useful (#31) 2022-01-04 10:40:03 -08:00
Matthew Kennedy 2bda28226a extract fault 2022-01-01 21:10:55 -08:00
Matthew Kennedy 79821c3d3f change new format address to play nice 2022-01-01 21:05:58 -08:00
rusefillc cbb0665e54
Correct dac timer (#38)
* io mapping typo

* DAC uses proper timer now

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-01 20:01:05 -08:00
rusefillc 0ac2e043e1
Board cleanup (#39)
* io mapping typo

* board.h clean-up

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-01 19:57:57 -08:00
rusefillc 3c92151fc6
io mapping typo (#37)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-01 19:27:56 -08:00
rusefillc df47657a87
spelling (#36)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-01 16:57:52 -08:00
rusefillc 3a23d6bdbc
io mapping (#35)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-01 16:14:32 -08:00
Matthew Kennedy 03aec72af7 now this should work 2021-12-27 20:56:55 -08:00
Matthew Kennedy fc67088982 don't fail if missing 2021-12-27 20:54:25 -08:00
Matthew Kennedy 1764c38783 this build should fail 2021-12-27 20:51:09 -08:00
Matthew Kennedy 0bc41184e8 word order 2021-12-27 20:45:55 -08:00
Matthew Kennedy dd8d3c5c20 pal pump dac 2021-12-27 20:44:15 -08:00
Matthew Kennedy 8cb60d5b18 pal heater device 2021-12-27 20:42:57 -08:00
rusefillc 41105cd29f
extracting hardware-specifc CAN from BL (#32)
* extracting hardware-specifc CAN from BL
reusing CAN settings between FW and BL
moving CRC into better location

* spelling M0 stuff as M0 stuff

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2021-12-27 20:39:02 -08:00
Matthew Kennedy 17bf809a5f io pins f1 2021-12-27 20:35:45 -08:00
Matthew Kennedy df07bb4ec8 chmod +x 2021-12-27 20:34:02 -08:00
Matthew Kennedy 637ed6cbe0 scripts and ci 2021-12-27 20:23:26 -08:00
Matthew Kennedy 020dd4a392 wild swing at ADC 2021-12-27 20:20:03 -08:00
rusefillc fa8e2b1deb
better io file arrangement - Makefile gives more flexibility than relative path from .cpp file (#30)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2021-12-27 19:08:58 -08:00
rusefillc 28ac0c61f0
Can magic constants (#26)
* CAN api

* CAN api

* CAN api

* CAN api

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2021-11-08 11:01:16 -08:00
Matthew Kennedy 3146bac645 missed one 2021-11-07 22:56:20 -08:00
Matthew Kennedy 455e5381b6 pragma once 2021-11-07 22:55:07 -08:00
Matthew Kennedy 66f4921310 now it links 2021-11-07 22:53:20 -08:00
rusefillc b1372e47f6
Extract io (#25)
* LEDs for BL

* more reuse

* Windows exists

* extract NERNST pin

* Matt is asking to move

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2021-11-07 22:52:13 -08:00
Matthew Kennedy fb7d67ac7e put esr in temp field fo rnow 2021-11-06 02:20:47 -07:00
Matthew Kennedy 4714f5cfef remove aem format 2021-11-06 02:17:07 -07:00
Matthew Kennedy b8aeef09ef Merge branch 'send-version' 2021-11-06 02:12:52 -07:00
Matthew Kennedy f484c1ff41 extract definitions 2021-11-06 02:12:29 -07:00
Matthew Kennedy f675c63279 comment 2021-11-04 15:07:47 -07:00
Matthew Kennedy d86f076c37 new format 2021-11-03 23:12:20 -07:00
Matthew Kennedy 0a117089b8 uppercase functions 2021-11-03 23:02:11 -07:00
Matthew Kennedy 1ce6981b53 rusefi data 2021-11-03 22:40:43 -07:00
Matthew Kennedy 0577011222 increase heater timeout 2021-08-16 11:30:52 -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 c3933827d6 lower CL threshold 2021-07-12 19:22:20 -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
Matthew Kennedy 7176ecb6c8 duty cycle math 2021-07-12 15:32:45 -07:00
Matthew Kennedy d645855adb get battery voltage from CAN 2021-07-12 15:31:02 -07:00
Matthew Kennedy a0f1b27c4d start on heater voltage control 2021-07-12 15:24:20 -07:00
Matthew Kennedy d3f90f2054 heater fiddling 2021-07-09 23:15:24 -07:00
Matthew Kennedy c12f4b7e43 dterm science 2021-07-09 11:22:33 -07:00
Matthew Kennedy b44fe3b98c add D term 2021-07-09 11:16:46 -07:00
Matthew Kennedy 26e46dd77a relax heater PI 2021-07-08 22:23:01 -07:00
Matthew Kennedy f9d94f1695 wait to start heater 2021-06-03 21:03:41 -07:00
Matthew Kennedy 6238eed3e3 filter esr 2021-06-03 20:50:39 -07:00
Matthew Kennedy 48dbdb842e hardware index selection works 2021-05-19 00:54:10 -07:00
Matthew Kennedy 475d7b8936 only read config when necessary 2021-05-19 00:53:52 -07:00
Matthew Kennedy 8397807cb2 progress on #11 2021-05-19 00:33:36 -07:00
Matthew Kennedy 459e45908a warn about missing submodules 2021-04-28 14:41:58 -07:00
Matthew Kennedy d0889d6115 dave's board build now 2021-04-26 17:47:17 -07:00
Matthew Kennedy 78f6f4c284 dave chconf 2021-04-26 17:43:09 -07:00
Matthew Kennedy f4c3dfd74d clarify heater ramp math 2021-04-26 17:40:06 -07:00
Matthew Kennedy fe0b2ac945 disable pump in case of problems 2021-04-26 17:37:53 -07:00