Commit Graph

2184 Commits

Author SHA1 Message Date
andreika-git ad57100098 rusEFI needs K-line firmware support #3248 2023-02-17 09:32:06 -05:00
rusefillc f80e7d5513 rusEFI needs K-line firmware support #3248 2023-02-17 09:23:40 -05:00
rusefillc 873d6a1f91 rusEFI needs K-line firmware support #3248 2023-02-17 08:18:50 -05:00
Matthew Kennedy cfe0aeef29 add 50/83.3/125kbit CAN (#5072)
* fix CAN

* add 83/125 too

* bump config version
2023-02-13 17:13:57 -05:00
Nathan Schulte 9f1d4c4bdd enable LSE (via: LSE max wait patches) (#4944)
* enable LSE (via: LSE max wait patches)

* ChibiOS: LSE patches
2023-02-12 16:01:03 -05:00
Matthew Kennedy cc6cadfdd6 deduplicate $(BOARD_DIR) in makefiles (#5024)
* calculate BOARD_DIR exactly once

* deduplicate board scripts

* unit tests

* make passes variables to openblt build properly

* was this an intentional omission?

* s

* prometheus

* prometheus
2023-02-01 14:41:27 -05:00
Matthew Kennedy 0647e44f9b build f7 with -Os (#4996) 2023-01-30 07:38:59 -05:00
rusefillc 3aa9ffca60 Refactoring: less confusion macro names around serial/uart/etc in connectivity #4999 2023-01-23 05:09:32 -05:00
rusefillc cea05b7418 specific PN F7 boards bricking on incremental flash due to ST bug #3566
let me try
2023-01-11 11:43:11 -05: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
rusefi d2ee2cbff9 The road to hell is paved with good intentions 2023-01-08 16:48: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 ba5144181a external muxes for internal ADC #3350 2023-01-05 21:23:00 -05:00
Andrey G a274b1f777 Feed mapAveragingAdcCallback() with volts not adc raw values (#4940) 2023-01-05 12:14:48 -05:00
Andrey G 8718ca076e ADC and HIP: feed callback with voltage, not raw adc values (#4939)
* hip9011: use adcToVoltsDivided() helper

* hip9011: feed callback with volts, not raw adc value
2023-01-05 12:00:23 -05:00
Andrey G 9ef8a8ab69 S105: more support (#4937)
* s105: ts_name for battery input

* flash: allow one copy for devices with 512K of flash

* s105: all outputs are open drain
2023-01-04 16:39:17 -05:00
Andrey G bfbcb5ffb4 Support boards with no HSE (#4931)
* ENABLE_AUTO_DETECT_HSE: allow override from board config or board.mk

* Cleanup comments references to removed rtcWorks variable

* Allow board with no HSE oscillator
2023-01-03 15:01:51 -05:00
Nathan Schulte 76bc7f22fd misc tidy (#4926)
* FrequencySensor: code-style

* smart_gpio: fix indent, tidy BOARD_EXT_GPIOCHIPS

tidy _GPIOCHIPS for #pragma message(STRING(BOARD_EXT_GPIOCHIPS output

* obd_error_codes: fix indent
2023-01-01 15:51:31 -05:00
Matthew Kennedy 568320b12d tolerate no SPI device 2022-12-21 20:26:39 -05:00
Matthew Kennedy aadb09233b nonblocking for TS, blocking for SD card (#4903) 2022-12-17 20:01:15 -05:00
rusefillc 940352b077 kind of a fix? 2022-12-17 18:59:38 -05:00
rusefillc b7409470f9 guards 2022-12-17 15:23:32 -05:00
rusefillc 72bd537598 SDC_MODE flexibility 2022-12-16 20:22:48 -05:00
Matthew Kennedy 2e35013d1d SD card tooth log (#4897)
* adjust tooth logger api

* mmc card writes tooth log

* changelog
2022-12-15 08:34:10 -04:00
Matthew Kennedy b74ba44cff Basic trigger scope implementation (#4885)
* big buffer

* mostly hooked up big buffer

* bad merge

* s

* sneak preview of trigger scope

* s

* constness

* channel limits

* s

* unnecessary

* efilib

* TcpServerSandbox

* includes fix

* binary format

* tooth logger uses big buffer

* dead config

* config

* implement basic trigger scope

* good behavior

* enable on other alphax

* flag to enable second channel

* use 8 bit mode on the ADC for less memory use

* changelog
2022-12-10 23:00:12 -05:00
Matthew Kennedy 9e60b52ed4 fix warnings (#4840)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-27 10:11:14 -05:00
Matthew Kennedy 431eb0e832 period -> frequency (#4837)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-27 08:10:05 -05:00
Nathan Schulte 0057d0d2f4 avoid ctime, use UTC ISO 8601 for CMD_DATE format (#4764)
* java_console: use UTC ISO 8601 for CMD_DATE format

* ChibiOS RTC avoids ctime

* firmware: controller sets time via ISO 8601

* avoid ctime in CAN dash
2022-11-23 16:53:16 -04:00
rusefillc 261222bb04 avoid ctime in GPS UART (#4824)
Co-authored-by: Nathan Schulte <nmschulte@desmas.net>
2022-11-23 13:20:36 -05:00
Nathan Schulte d4cc3caeab code style, GPS fixes (test, firmware) (#4822)
* tidy NMEA

* const in nmea

* correct gps test output

* fix GPS UART print statements

* cleanup feature toggles in settings

* fix comment typos, misc whitespace
2022-11-23 07:01:34 -04:00
Nathan Schulte 58b2ba8fc6 add /usr/sbin to PATH in create_ini_image*.sh (#4809) 2022-11-21 10:14:49 -05:00
Nathan Schulte 57a8c29cc6 RTC toggle in hardware.cpp 2022-11-21 09:36:28 -05:00
Nathan Schulte dceda2276f tidy hw_layer/rtc_helper gcc ifs 2022-11-21 09:35:24 -05:00
rusefillc fae84c2a61 big delete ICU #4270
random doc
2022-11-20 19:15:07 -05:00
rusefillc 4383d5a08a docs 2022-11-20 16:20:01 -05:00
rusefillc e3bad2649e simpler SENT for now 2022-11-19 09:38:39 -05:00
Nathan Schulte 877fa21bd8 fix simulator build (via MinGW) (#4799)
* firmware: kill -9 dead hipLastExecutionCount

* firmware: pin_repository C includes efi_gpio.h

* firmware: controllers: tidy #endif comments

* firmware: primary_pins logic depends EFI_GPIO_HARDWARE

* firmware: only print ADC info if HAL_USE_ADC

* firmware: digital_input: tidy #endif comments

* firmware: digital_input logic depends on e.g. HAL_USE_ADC

* firmware: digital_input logic depends !EFI_SIMULATOR

* firmware: digital_input logic depends e.g. HAL_USE_ADC

* simulator: Makefile includes RUSEFI_LIB_C as CSRC

* Revert "GHA/build-firmware: pin agents to Ubuntu 20.04 (#4793)"

This reverts commit 51e368245b.
2022-11-18 23:43:43 -05:00
Nathan Schulte 036018ee0d firmware: digital_input logic depends e.g. HAL_USE_ADC 2022-11-18 23:24:54 -05:00
Nathan Schulte 1340f52627 firmware: digital_input logic depends !EFI_SIMULATOR 2022-11-18 23:24:45 -05:00
Nathan Schulte b19b88f236 firmware: digital_input logic depends on e.g. HAL_USE_ADC 2022-11-18 23:16:28 -05:00
Nathan Schulte 2da02f6d96 firmware: digital_input: tidy #endif comments 2022-11-18 23:16:19 -05:00
Andrey Gusakov 355f0c51fb LUA/SENT: hook to get RAW sig0 and sig1 (WIP)
TODO: how to return two (N) values from LUA hook?
2022-11-17 16:17:27 -05:00
rusefillc 645b244d97 Update readme.md 2022-11-15 12:34:17 -05:00
rusefillc 503f493419 Update readme.md 2022-11-15 09:44:56 -05:00
rusefillc 8961732722 Update readme.md 2022-11-15 09:41:16 -05:00
Andrey G 4c6c74e935 SENT: fix null pointer dereference (#4776) 2022-11-13 11:50:08 -05:00
rusefi 4418a08e4d Ford SENT ETB bench test in NJ #4745 2022-11-13 11:23:54 -05:00
Andrey G 85f46318a4 SENT updates (#4774)
* SENT: simplify

* SENT: add crc6 routine, check crc for slow channels enhanced messages

* SENT: helper to get Slow Channel values

* SENT: getTickTime() report tick unit time

* unit_tests: SENT: update tests
2022-11-12 16:57:20 -05:00
rusefi 9ad7e346a2 Ford SENT ETB bench test in NJ #4745 2022-11-11 18:07:13 -05:00
Andrey G 9b0fa7ec43 SENT unit tests (#4769)
* unit_tests: sent: zero-init

* sent: SENT_SLOW_CHANNELS_MAX to header

* unit_tests: sent: clock, falling edges

* SENT: support and autodetect if device sends pause pulse

Also rework tick time calculation

* unit_tests: SENT: verbose debug on request

* unit_tests: SENT: actual checks

* unit_tests: SENT: extract common code for reuse

* unit_test: SENT: add test with fuel pressue captured data

* unit_test: SENT: add test with Ford ETB CLOSED captured data
2022-11-11 17:25:02 -05:00
rusefillc 7f7d00fa3e does gcc11 know something? (#4738)
* does gcc11 know something?

* fix BACKUP_FLASH_ADDR assertion semantic (#4750)

* fix BACKUP_FLASH_ADDR assertion semantic

* cast BACKUP_FLASH_ADDR as flashaddr_t

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
Co-authored-by: Nathan Schulte <8540239+nmschulte@users.noreply.github.com>
2022-11-07 19:22:58 -05:00
Andrey ffbf58e0b6 Ford SENT ETB bench test in NJ #4745
we shall unit test SENT
2022-11-07 10:30:30 -05:00
Andrey 85e8418b1b Ford SENT ETB bench test in NJ #4745
we shall unit test SENT
2022-11-07 00:25:47 -05:00
Andrey cebb3e1847 Ford SENT ETB bench test in NJ #4745
we shall unit test SENT
2022-11-07 00:06:42 -05:00
Andrey G ad79378da1 pin_sepository: no external users for totalPinsUsed, remove (#4733) 2022-11-03 18:26:08 -04:00
Andrey G e5c9e66a38 OpenBLT: fix lazy compilation (#4715)
* OpenBLT: fix lazy compilation

* OpenBLT: use per-board obj directory
2022-10-30 10:01:43 -04:00
Andrey G cc9b1517ac compile warnings: signed vs unsigned and unused (#4713) 2022-10-30 09:47:53 -04:00
Andrey G d897316f1b OpenBLT: F7: ups, missed shared section (#4714) 2022-10-30 09:38:09 -04:00
Matthew Kennedy 0ee7be20d8 s (#4708) 2022-10-27 23:17:02 -04:00
rusefillc 92bed0c699 less horrible constant name 2022-10-27 22:17:50 -04:00
rusefillc 584c4b7019 efi::size 2022-10-27 20:35:37 -04:00
Matthew Kennedy 7c9e3680b3 bigger blocking factor (#4703) 2022-10-26 16:49:55 -04:00
Andrey G 051dc82e20 SENT improvements (#4702)
* smt32_common.mk: reduce copy-paste

* SENT: sentPins is not used

* hw: stm32: add ICU helper

* hw: stm32: icu helpers: also return timer base clock

* SENT: icu: use helper to get ICU & channel and AF

* SENT: icu: use CPU ticks for pulse measurements

* hw: stm32: icu: cleanup
2022-10-26 15:33:47 -04:00
Andrey G 6411ef2021 SENT glue to LUA (#4700)
* use tabs

* SENT: Lua glue: getSentValue returns ETB position now

Can be tested with following LUA script:
setTickRate(100)
function onTick()
	pos = getSentValue(1)
	setLuaGauge(1, 10000 * pos)
	print(pos)
end
2022-10-26 06:42:14 -04:00
Andrey G f3c728ce61 SENT fixes (#4698)
* SENT: use shift register for storing nibbles

* SENT: rxReg shift to the left

* SENT: todo
2022-10-24 08:50:11 -04:00
rusefi 0f21808d21 GM ETB bench test in NJ #4688
SENT to Lua integration
2022-10-22 22:46:37 -04:00
Andrey G 6aca0e2a54 SENT fixes (#4692)
* SENT: measure more pulses during Unit time calibration

* SENT: no magic numbers

* SENT: fix typo

* SENT: setninfo output: do not show slow channels if not detected

* SENT: fix GM-style CRC calculation

* SENT: another one CRC algorithm, now for pressure sensor

* SENT: show CRC error percentage
2022-10-22 18:07:22 -04:00
rusefillc 67ea775f17 progress: rpm register based on trigger input being none or not (#4691)
* progress: rpm register based on trigger input being none or not

* use helper functions

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-10-22 09:27:41 -04:00
rusefillc 8b1a1a984c refactoring: wider usage of helper method 2022-10-22 08:39:55 -04:00
rusefillc 56d5e01d89 ROLLBACK 2022-10-21 22:45:46 -04:00
rusefillc a0c0e38cfd progress: rpm register based on trigger input being none or not 2022-10-21 22:07:41 -04:00
rusefillc 38164e2a0d refactoring: inline method 2022-10-21 21:20:44 -04:00
rusefillc 366b37a41e trigger input: dead code? 2022-10-21 21:10:58 -04:00
rusefillc ee72e7ea5d Update readme.md 2022-10-20 14:30:23 -04:00
Andrey G 66c3468ce0 SENT fixes (#4687)
* SENT: cache current setting to do proper clean-up on stop

* SENT: microRusEfi supports send on "AN temp 2" = PA1 only

* SENT: microRusEfi: fix pin number

* SENT: use activeConfiguration during sentStop()

* MRE: pin 23: can accept events (for SENT)
2022-10-20 13:33:16 -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 c16d2e82e4 more f429 business (#4679)
* 429 boots and LEDs work

* oops missed a comma

* enable on f767 too, since it should be the same board

* why not just completely duplicate it

* script should not be fancy

* script should not be fancy

* correct pins

* h743 while we're at it
2022-10-20 00:59:39 -04:00
rusefi 64f0a8e412 SENT protocol capture implementation #4631 2022-10-20 00:04:43 -04:00
Andrey G c36c1b0434 SENT protocol capture implementation (#4631)
* boards: MRE: enable SEND protocol capture

* SENT protocol capture implementation #4631

* SENT protocol capture implementation #4631

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-10-19 17:08:15 -04:00
Andrey Gusakov de1189cf86 port: stm32: f4/f7: enable ICU drivers, enable ICU for TIM2 2022-10-19 15:14:29 -04:00
rusefillc 630f943a17 nicer (?) parameter names 2022-10-19 10:25:02 -04:00
Matthew Kennedy 7116670fd0 build tweaks for size (#4661)
* don't align on non-cached mcu

* lua decimal point

* no snprintf

* sort sections by alignment

* unit tests
2022-10-13 20:30:30 -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
Andrey G 27e00702f5 SENT core decoder and ICU driver (#4648)
* SENT: copy-paste SENT decoder from rusefi-hardware

* SENT: decoder: refactor, cleanup

* SENT: add ICU implementation

* SENT: decoder: use pch.h

* SENT: EFI_PROD_CODE guard

* SENT: ICU driver: fixes

* SENT: don't forget to SysLock

* SENT: call Start on Init (agrrrr)

* SENT: ICU: some limitations

ICU can capture on two firsts TIM inputs only. So move from PA2 to PA1

* SENT: mmmm... c++... i like it (no)

* SENT: autocalibrate tick time

* SENT: debug

* SENT: clean-up

* SENT: optimize slow channel mailboxes

* SENT: GetSignals() helper
2022-10-09 06:38:28 -04:00
rusefi 75bf7382a2 We are mostly focused in standby, not in stop 2022-10-03 19:37:17 -04:00
GitHub gen-configs Action ad39e5aee9 Auto-generated configs and docs 2022-09-30 03:15:40 +00:00
rusefillc 587c448688 CAN side of automated testing #4630 2022-09-29 23:01:06 -04:00
Matthew Kennedy 9916ff9935 rtc cleanup (#4596)
* rtc formatting and code style

* more cleanup

* s

* time example
2022-09-20 05:28:42 -04:00
GitHub gen-configs Action 7de6639e22 Auto-generated configs and docs 2022-09-19 01:31:32 +00:00
rusefillc dc91281b3b CanCategory 2022-09-18 20:44:00 -04:00
rusefillc 1c28ca0582 tear down Engine god object #4511 2022-09-15 21:46:01 -04:00
Andrey G f5a4cfc06f digital_input: check for valid callback not name! (#4575) 2022-09-13 18:02:00 -04:00
rusefillc 5da9012d70 moving SD logic to better source 2022-09-12 20:39:43 -04:00
Andrey G c1c9d5222a tle8888 dead code (#4568) 2022-09-12 18:54:29 -04:00
Andrey G bf3c6e32c2 stm32: microsecond timer: set correct period value (#4567)
Driver sets (period - 1) to ARR (auto-reload register)
So we need to set period to (1 << 32) to get maximum
0xffffffff value in ARR. But period is uint32_t.
So set it to 0 and it will ovelap to UINT32_MAX at
pwmp->tim->ARR  = pwmp->period - 1;
2022-09-12 07:35:31 -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
Andrey G 1ca5988877 time routines refactor (#4563)
* Extract time helpers from engine_controller_misc to efitime.cpp

* Rename currentTimeMillis() to getTimeNowMs()

We have getTimeNowNt(), getTimeNowUs(), currentTimeMillis() and getTimeNowSeconds()
Align a bit.

find . -type f -name '*.c*' -exec sed -i 's/currentTimeMillis/getTimeNowMs/g' {} \;

* Rename getTimeNowSeconds() to getTimeNowS()

To align with Nt, Us, Ms versions.

* Some comments about getTimeNowLowerNt()
2022-09-11 13:06:03 -04:00