Matthew Kennedy
3a980634b7
init adc 3
2024-11-29 13:16:38 -08:00
Matthew Kennedy
eea931760b
more accurate SD card rate
2024-11-23 23:19:02 -08:00
Matthew Kennedy
101ba2b3e9
H7 knock ( #515 )
...
* blind h7 knock implementation
* proteus/atlas sampling config
2024-11-23 02:49:05 -08:00
Matthew Kennedy
4a2877c2db
knock include order
2024-11-18 11:52:36 -08:00
Matthew Kennedy
2b3db0b21e
s
2024-11-18 11:43:41 -08:00
Matthew Kennedy
ad3bb2ab99
modularize knock adc for h7
2024-11-18 11:36:41 -08:00
Matthew Kennedy
5554303ae9
h7 sdmmc clocking
2024-11-18 02:55:09 -08:00
Matthew Kennedy
35c1b8bc9f
h7 adc3
2024-11-18 02:45:45 -08:00
Matthew Kennedy
ed9420d9f1
better name
2024-11-08 01:15:45 +00:00
Matthew Kennedy
2155f3c019
extract some implementation details of fast ADC out to port
2024-11-08 00:58:07 +00:00
Matthew Kennedy
e7f8033e32
these functions can now be static
2024-11-08 00:51:08 +00:00
Matthew Kennedy
4266c04c65
dead function
2024-11-08 00:46:55 +00:00
Matthew Kennedy
d3110cde42
missed a line
2024-11-08 00:20:07 +00:00
Matthew Kennedy
6b26a4e427
dead feature: sensor chart fast ADC
2024-11-08 00:12:37 +00:00
Matthew Kennedy
69baa28b48
sdmmc1
2024-11-07 11:41:56 -08:00
Matthew Kennedy
9ab55a1ed3
mmc
2024-11-06 19:46:09 -08:00
Matthew Kennedy
0dba68be8d
make chconf.h more similar to each other
2024-10-31 16:19:47 -07:00
Matthew Kennedy
09c855c3ed
min stepper voltage feature
2024-10-29 14:03:27 -07:00
Matthew Kennedy
d037aed2cd
cleanup
2024-10-11 17:34:40 -07:00
Matthew Kennedy
8455a3c050
format
2024-09-25 14:05:08 -07:00
Matthew Kennedy
48d25544f9
min/maxF -> std::min/max
2024-09-25 14:02:00 -07:00
Matthew Kennedy
084a1d0dfd
std::abs
2024-09-24 23:47:37 -07:00
Matthew Kennedy
9e3126a920
aux serial cleanup/removal #61
2024-09-18 22:38:16 -07:00
Matthew Kennedy
01a397094d
execute critical tasks on one big thread ( #462 )
...
* wire up main loop
* remove PeriodicTimerController
* patch up defines, comments
* happy simulator
* format
* simulator
* ETB runs via main loop
* happy tests
* protection against invalid LoopPeriod
* stack size
* ccm
* fix |= operator
* move perf trace
* ordering
* ordering
2024-09-17 15:27:38 -07:00
Matthew Kennedy
9ccaded0a1
lps25 multi byte read
2024-09-13 01:10:08 -07:00
Matthew Kennedy
d2bf9ab9e9
SD log file names are fome_x.mlg
2024-09-13 00:09:25 -07:00
Matthew Kennedy
d0e4a0c644
cleanup
2024-09-03 13:34:36 -07:00
Matthew Kennedy
e20908704d
print friendly pin names for "pins" command
2024-09-03 13:31:49 -07:00
Matthew Kennedy
761efd862c
MAP avg uses engine module callbacks ( #475 )
...
* use engine module callbacks
* happy tests
* happy small-can-board
* interact with map avg via module
* simplify map avg init
* tweaks
* omit module to disable it instead!
* unnecessary guard
* minor cleanups
* unnecessary branch - lookups for these tables are fine at 0 rpm
* oop
2024-08-29 22:38:30 -07:00
Matthew Kennedy
12321d4325
map averaging includes
2024-08-29 13:29:53 -07:00
Matthew Kennedy
bd7f8f2bb6
remove trigger input debug pins
2024-08-28 02:06:02 -07:00
Matthew Kennedy
0b31777623
adc inputs cleanup
2024-08-12 18:13:51 -07:00
Matthew Kennedy
b6ccc9b33f
let's move away from PeriodicTimerController
2024-08-12 17:55:18 -07:00
Matthew Kennedy
48b8f08cb8
EFI_ACTIVE_CONFIGURATION_IN_FLASH
2024-08-07 12:09:30 -07:00
Matthew Kennedy
e4e0824f57
misc format/comment cleanups
2024-08-07 12:01:08 -07:00
Matthew Kennedy
0b5b441982
minor reorder
2024-08-06 23:23:37 -07:00
Matthew Kennedy
08c878dbb9
sorry ADC trigger, your performance was never proven and you're in the way now
2024-08-06 23:21:36 -07:00
Matthew Kennedy
2e7425d037
fast adc skip
2024-08-06 23:07:34 -07:00
Matthew Kennedy
4b4d2ac4d5
ethernet console as engine module ( #453 )
...
* infrastructure for engine modules in the build
* fully move fuel pump
* fan
* gear detector
* gear detect
* fan control cleanup
* trip odometer
* shuffle makefiles around a little
* move ethernet console to engine module
* oops
* s
* final
* dead line
2024-07-23 20:52:37 -07:00
Matthew Kennedy
b36474888b
Merge branch 'master' of https://github.com/fome-tech/fome-fw
2024-07-22 10:39:45 -07:00
Matthew Kennedy
3f2450056a
use CriticalSectionLocker
2024-07-22 10:39:39 -07:00
Matthew Kennedy
bd808552ee
typo
2024-07-21 23:25:04 -07:00
Matthew Kennedy
1245ddcc21
adc clarity
2024-07-21 23:23:52 -07:00
Matthew Kennedy
c5b9f53808
cleanup
2024-07-21 22:28:51 -07:00
Matthew Kennedy
aeec11078c
adc cleanup
2024-07-21 13:22:28 -07:00
Matthew Kennedy
591b8446fe
minor adc_inputs cleanup
2024-07-21 13:21:02 -07:00
Matthew Kennedy
1f1ace4ced
do the math once instead of per-sample
2024-07-21 13:10:22 -07:00
Matthew Kennedy
dd8dea61c0
rename Executor -> Scheduler
2024-07-11 17:03:13 -07:00
Matthew Kennedy
adb5773c5f
don't use scheduleForLater
2024-07-11 16:22:08 -07:00
Matthew Kennedy
4554e099f4
if you need this command you need a debugger
2024-07-03 01:06:28 -07:00
Matthew Kennedy
7936c5d90d
dead console commands save 2k of flash
2024-07-03 00:31:44 -07:00
Matthew Kennedy
f4ddf26313
for loop formatting
2024-07-03 00:26:17 -07:00
Matthew Kennedy
83e5738a96
actually reset the timer in case of <2US timing
2024-06-10 01:35:51 -07:00
Matthew Kennedy
e7d2b1c17c
compile-time enforcement of printf strings
2024-06-10 01:15:39 -07:00
Matthew Kennedy
1e2cd76a9d
only check on firmware for now?
2024-06-10 01:00:23 -07:00
Matthew Kennedy
cf87e64119
compile-time enforcement of printf strings
2024-06-10 00:51:14 -07:00
Matthew Kennedy
efc74d9975
debounce init
2024-04-25 16:40:08 -07:00
Matthew Kennedy
1c354c08c3
smart gpio init
2024-04-25 16:39:56 -07:00
Matthew Kennedy
cbed1af4ba
default inits in trigger adc
2024-04-25 16:32:32 -07:00
Matthew Kennedy
d8b2d3c329
debounce efidur_t
2024-04-25 14:38:21 -07:00
Matthew Kennedy
8d1029314a
delete efitimems_t
2024-04-25 13:52:34 -07:00
Matthew Kennedy
5b51317585
get rid of efitimems_t
2024-04-25 13:51:16 -07:00
Matthew Kennedy
e332b32ed1
distinguish between "timestamp" and "duration"
2024-04-25 12:57:10 -07:00
Matthew Kennedy
3f8931f341
we often mean inline when we say static
2024-03-28 18:20:40 -07:00
Matthew Kennedy
a49de26ea9
the endianness was right the first time
2024-03-18 15:50:37 -07:00
Matthew Kennedy
fb398cddb2
endianness was REALLY a mistake
2024-03-18 14:53:15 -07:00
Matthew Kennedy
85a031c20d
endianness was a mistake
2024-03-17 11:50:43 -07:00
Matthew Kennedy
a34f7b3ad2
max31855 uses polled exchange
2024-03-15 20:21:39 -07:00
Matthew Kennedy
a358aa963f
prep for #381 blocking factor
2024-03-15 11:34:06 -07:00
Matthew Kennedy
c9d4befc4d
WiFi tweaks ( #374 )
...
* batch all wifi in to one write
* writeCrcPacket already chunks the response, so we don't really need it, but limit maximum TCP write size
* format cleanup
* don't cache wifi stuff (for now)
* h7 fiddling
2024-03-12 16:14:04 -07:00
Matthew Kennedy
498824eff4
tabs
2024-03-12 15:28:52 -07:00
Nathan Schulte
bfb8cf1f89
GCC 13 simulator build, console->simulator on Linux ( #378 )
...
* engine: variable engine is: constexpr Engine
* can: rename CanRead::start to not hide
* console: support launching simulator on Linux
* console: fully encapsulate simulator binary name
* console: simplify simulator binary wrangling
* console: cleaner java code-style
2024-03-09 00:11:20 -08:00
Matthew Kennedy
da1ad5b34f
scripts should fail harder when they fail
2024-03-07 22:17:37 -08:00
Matthew Kennedy
2436e7c105
implement TS console over ATWINC1500 WiFi ( #373 )
...
* experimenting with atwinc1500
* rename to cpp
* if/else without curly braces
* nullptr
* static asserts
* unused params
* stub basic bsp and wifi console
* misc c++ fixes
* it appears to compile?
* enable/disable ISR
* idk why this needs to get commented
* dead code
* more wifi plumbing
* move wifi init after hardware init
* wifi bsp
* bsp handles empty SPI read/write, pin init
* build spi_flash.cpp
* don't double-enable interrupts
* maybe no need for extern "C"
* faster SPI
* socket kinda connects?
* wifi updater tool?
* log wifi stuff to efiPrintf
* I'm not sure why you have to skip the reboot it says you have to do
* working tcp implementation
* use lock instead of actually cycling interrupts
* improve socket receive performance
* add firmware info
* avoid locking for spi select/unselect
* allow larger SPI ops
* wifi thread priority
* hooks for pins and SPI device
* guard
* build atlas with wifi
* don't unconditionally define EFI_WIFI, oops
* only build wifi if wifi
* typo
* H7 SPI
* typo
2024-03-01 12:37:55 -08:00
Matthew Kennedy
c0489d8591
oops, some boards needed spi prescaler func
2024-02-27 16:56:32 -08:00
Matthew Kennedy
4b02b7d46d
spi cleanup, add 4/5/6 to pickers
2024-02-27 13:42:19 -08:00
Matthew Kennedy
04b48de598
I don't think we need SPI pin mode any more at all
2024-02-26 17:26:59 -08:00
Matthew Kennedy
2c021cfd2e
oops I thought I committed this
2024-02-26 16:12:07 -08:00
Matthew Kennedy
921e205d6d
stop spi
2024-02-26 11:32:48 -08:00
Matthew Kennedy
9c2a6420b4
support spi4/5/6
2024-02-26 11:30:08 -08:00
Matthew Kennedy
afe8b23787
put all backup data in SRAM, not in RTC registers
2024-02-06 11:43:13 -08:00
Matthew Kennedy
13f9337d16
enum class-ify
2024-02-06 11:04:34 -08:00
Matthew Kennedy
d3354310d6
dead backup sram enums
2024-02-06 11:03:42 -08:00
Matthew Kennedy
17c6a46e84
optimize for hot thread stacks and data in CCM
2024-01-06 19:37:35 -08:00
Matthew Kennedy
053e9daceb
oops these don't fit either
2024-01-06 19:01:41 -08:00
Matthew Kennedy
7b46529dee
move some stuff in to CCM
2024-01-06 18:52:37 -08:00
Matthew Kennedy
7e2097056c
unused parameters
2024-01-06 18:31:18 -08:00
Matthew Kennedy
c7cc2de16f
sanity in IMU data names/ranges
2023-11-27 01:30:18 -08:00
rusefillc
d6b5718ed1
no ini image on Cygwin or Mingw ( #297 )
...
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2023-11-09 09:32:58 -05:00
Matthew Kennedy
6dc6f89e71
H7
2023-11-03 15:30:15 -07:00
Matthew Kennedy
97c084cc24
fix simulator
2023-11-03 15:08:28 -07:00
Matthew Kennedy
61900c0f18
check for unused variables
2023-11-03 15:00:44 -07:00
Matthew Kennedy
3ef4d7c40e
dead openblt files from the "old way"
2023-11-03 01:28:38 -07:00
Matthew Kennedy
f293c679ce
oops missed mcuconf
2023-11-02 13:33:42 -07:00
Matthew Kennedy
9dc183a173
we use small time units here in the future ( #287 )
2023-11-01 22:31:27 -07:00
Matthew Kennedy
a9b866fff1
sent
2023-11-01 16:10:47 -07:00
Matthew Kennedy
0aee861107
gpio, thermistor, knock shadowing
2023-11-01 16:09:39 -07:00
Matthew Kennedy
f4d442bcf3
adc
2023-11-01 14:31:25 -07:00
Matthew Kennedy
6a472b02f3
stepper shadowing
2023-11-01 14:31:21 -07:00
Matthew Kennedy
e625684c91
ads1015 shadow
2023-11-01 14:24:06 -07:00
Matthew Kennedy
68ef36c5d0
adc inputs shadowing
2023-11-01 14:22:29 -07:00
Matthew Kennedy
a987308055
shadow avoidance
2023-11-01 14:16:09 -07:00
Matthew Kennedy
408862d69f
strongly type can bus index so we can't have the same bug again
2023-10-30 23:33:59 -07:00
Matthew Kennedy
39a54e5e93
require DLC on can TX
2023-10-30 18:50:49 -07:00
Stefan de Kraker
4e44e417b2
Fixed FOME CAN data bus selection ( #275 )
...
* Fixed FOME CAN data bus selection
* Made canChannel non-optional
2023-10-30 18:42:52 -07:00
Matthew Kennedy
1638f0177d
zip was still called rusefi.ini.zip
2023-10-17 13:02:02 -07:00
Matthew Kennedy
41ed3bd6ce
avoid stepper pin double init #265
2023-10-13 02:44:14 -07:00
Matthew Kennedy
8949404d54
don't store a copy of stepper pin modes
2023-10-13 02:38:47 -07:00
rusefillc
7ad5b00f2e
refactoring: vvt is not aux ( #263 )
...
* refactoring: vvt is not aux
(cherry picked from commit 6b4c4a583316a32d7723c2cfa16cda39fa9afb1b)
* this repo has VVT conditional at small-can-board
2023-09-27 00:59:04 -07:00
Matthew Kennedy
4b354f047b
trip odometer ( #260 )
2023-09-25 13:16:17 -07:00
Matthew Kennedy
3df1ee9c5f
debug channel cleanups
2023-09-13 12:23:27 -07:00
Matthew Kennedy
c41ebafc59
prep for small can board
2023-08-29 00:57:57 -07:00
Matthew Kennedy
b14ca428fb
#ifdef __cplusplus crust
2023-08-28 14:17:26 -07:00
Matthew Kennedy
ee89ab88d6
H7 flash supports both banks!
2023-08-27 16:44:50 -07:00
Matthew Kennedy
e859f65ef8
cherry pick hardfault volatile
2023-08-27 16:35:09 -07:00
Matthew Kennedy
2fb778145c
forgot the h7 shared section
2023-08-27 16:32:46 -07:00
Matthew Kennedy
717aae8ce2
extract STM32 flash common
2023-08-27 15:31:29 -07:00
Matthew Kennedy
bfad2e45a1
Split F4/F7 vs H7 flash controllers
2023-08-27 15:20:11 -07:00
Matthew Kennedy
12b9a3e477
H7 uses 128k pages
2023-08-27 11:35:14 -07:00
Matthew Kennedy
c8c536d96c
guard
2023-08-27 11:00:56 -07:00
Matthew Kennedy
abf312213c
extract CAN config to its own file
2023-08-27 10:50:39 -07:00
Matthew Kennedy
5813c20a32
OpenBLT-based USB serial bootloader ( #228 )
...
* flash layout
* bootloader builds
* output name
* hard fp
* strip out dfu
* bootloader gets hardfault
* loader gets USB but not MSD
* kinda usb?
* USB enumerates!
* cleanup
* shared params
* nonfunctional openblt
* stub flash
* flash.h
* openblt responds over USB!
* implement flash driver
* blt conf, linker
* boards no longer need specific openblt files
* no ccache
* common_make.sh
* cleanup
* delete bootloader crust
* simplifying linker logic
* script tweaks
* flash layout is handled entirely by FOME flash driver
* simplify memcpy
* format
* comment
* dead
* makefiles cleanup
* cleanup
* h7 linker script for bootloader
* h7 bootloader build
* build script
2023-08-27 10:30:02 -07:00
Matthew Kennedy
3e39abbfd3
this button isn't useful as it just bricks the ECU
2023-08-26 23:29:21 -07:00
Matthew Kennedy
342f704a4c
null terminate usb strings
2023-08-25 12:19:13 -07:00
Matthew Kennedy
a752508f35
typo
2023-07-25 15:56:54 -07:00
Matthew Kennedy
e7fd8f3259
avoid null deref in sd tooth logger
2023-07-25 15:15:15 -07:00
Matthew Kennedy
ad3ea57276
tooth_logger.h -> pch
2023-05-30 22:41:20 -07:00
Matthew Kennedy
349d3a9b48
completely unused CanCategory
2023-05-30 22:13:54 -07:00
Matthew Kennedy
2fd26e948a
remove proteus legacy build -> none exist in the wild
2023-05-18 15:29:31 -07:00
Matthew Kennedy
94c33e9e38
pt2001 typo
2023-05-15 13:28:50 -07:00
Matthew Kennedy
5a833aede6
uncompressed image script too
2023-05-05 19:07:27 -07:00
Matthew Kennedy
eea8b09534
oops
2023-05-05 19:04:12 -07:00
Matthew Kennedy
05dd332d18
update embedded usb drive files #69
2023-05-05 19:00:29 -07:00
Matthew Kennedy
45cb8f3607
re-enable ini drive on stm32f7
2023-05-05 16:33:23 -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
fa41247fde
ancient history dead histogram
2023-04-11 17:02:56 -07:00
Matthew Kennedy
d6534157a0
rename obd_code_e -> ObdCode
2023-04-11 16:32:47 -07:00
Matthew Kennedy
8b89860042
not on h7 though
2023-03-24 16:45:55 -07:00
Matthew Kennedy
b59a592f94
everybody gets timer 3 pwm
2023-03-24 14:35:54 -07:00
Matthew Kennedy
84aa2aa780
misc console cleanups
2023-03-17 15:49:52 -07:00
Matthew Kennedy
5c7334f2e7
rename simulator
2023-03-15 22:26:49 -07:00
GitHub gen-configs Action
723795a232
Auto-generated configs and docs
2023-03-15 19:34:12 +00:00
Matthew Kennedy
718ad4a391
extract expected.h
2023-03-07 00:33:31 -08:00
Matthew Kennedy
5e238e5d26
volume name
2023-02-28 16:42:14 -08:00
Matthew Kennedy
a2652d31dc
invert vvt in one spot, like trigger
2023-02-28 13:13:29 -08:00
Matthew Kennedy
7b3b20f97f
crust
2023-02-28 02:38:41 -08:00
Matthew Kennedy
4de3c86749
crusty dead things
2023-02-28 02:29:46 -08:00
Matthew Kennedy
30a85d82f5
SD error state cherry pick
2023-02-28 02:14:15 -08:00
Matthew Kennedy
329b668ed6
cherry pick cleanup
2023-02-28 02:12:47 -08:00
Matthew Kennedy
1e84c92b00
accel cleanup
2023-02-28 02:12:10 -08:00