Commit Graph

473 Commits

Author SHA1 Message Date
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 00b9bf9d35 hand merge 2022-12-01 13:22:19 -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
rusefillc 3ddfc3e35d
tidy cats (#124)
Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2022-07-18 01:20:40 -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