Commit Graph

83 Commits

Author SHA1 Message Date
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 495b5aebc7 mcp3208, hip9011 2023-02-20 22:40:31 -08:00
Matthew Kennedy 0e12622371 cdm ion 2023-02-20 22:37:14 -08:00
Matthew Kennedy 666a41e496 hip9011 2023-02-20 22:29:48 -08:00
rusefillc 873d6a1f91 rusEFI needs K-line firmware support #3248 2023-02-17 08:18:50 -05:00
rusefi 06552b6bee servo is truly not alive 2022-09-06 16:29:12 -04:00
Matthew Kennedy 5fc7000834 Pt2001 module (#4396)
* pt2001 uses module

* read flag0

* c

* libfirmware

* makefiles

* are unit tests happy?

* bootloader
2022-08-08 08:53:08 -04:00
Andrey G 074563ddfd OpenBLT shared params (#4417)
* OpenBLT: linker file: use last 16 bytes of ram for shared area

This area is used for communication between FW and OpenBLT.

* OpenBLT: startup: invalidate only DFU breadcumb from startup code

Same location (but different seed) is used for shared param's
signature in OpenBLT.

* OpenBLT: enable shared params

* OpenBLT: enable hooks

If 0x01 is stored in shared param idx=0, then stay in OpenBLT forever.

* Jump to OpenBLT: store proper shared param when OpenBLT is requested

TODO: calculate and store CRC too!

* OpenBLT: move shared_params to start of RAM

* Bootloader: Allocate 16 bytes at start of RAM for bootloader shared area

* OpenBLT: shared_params: reuse same .c and .h file for main application

* OpenBLT: shared_params: enable CRC check

* OpenBLT: no need to manualy set breadcumb before reset

* Revert "OpenBLT: startup: invalidate only DFU breadcumb from startup code"

This reverts commit 6b064714b953560227ae53e38355332cf9f46f7f.

* OpenBLT: guard for builds without OpenBLT

* OpenBLT: reboot to OpenBLT on CAN request with ID=0x667 and DLC=2

* config: options to enable OpenBLT on CAN interfaces

* OpenBLT: comments
2022-08-07 19:33:19 -04:00
Matthew Kennedy c259b1cf2d pt2001 updates (#4340)
* delete registers/

* update gitignore

* readme

* Revert "delete registers/"

This reverts commit de10448d5479487b529b4e9ee551f45f271daa8c.

* remove dead dram constants

* switch to use generated C source instead of copy/paste

* more memory map
2022-07-14 12:47:51 -04:00
Matthew Kennedy 6267b8621a big delete ICU (#4270)
* big delete

* icu vestiges

* changelog
2022-07-07 15:27:59 -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
Andreika 99c4dd4cb4 hellen81 ADC trigger 2021-12-01 13:03:08 -05:00
Matthew Kennedy f6e269a3ab remove old vss implementation (#3208)
* dead vss

* remove
2021-08-28 01:39:55 -04:00
Matthew Kennedy 0fde085a44 remove TS file read (#3004)
* remove

* more defines

* test

* lots of java

* s
2021-07-21 14:24:53 -04:00
Andrey G 6d849d05c7 Hw layer rearrangement (#2703)
* max31855: move to sensors

* uart GPS driver: move to sensors and rename

* i2c_bb: move to drivers

* LCD HD44780: move to drivers

* ping?
2021-05-16 06:01:00 -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 a5f269d733 implement bit-banged I2C driver (#2289)
* bb

* implement

* tweaks

* s

* comment, format

* guard

* headers and comment
2021-02-06 16:59:06 -06:00
Matthew Kennedy eb7a26be14 Port-ify microsecond_timer hardware implementation (#1964)
* move to folder

* extract hardware part of microsecond_timer

* dead ST forum link

* de-volatile

* simulator build

* guard
2020-11-22 20:39:32 -05:00
Matthew Kennedy e0d0727896 adjust microsecond_timer api (#1952)
* change timer api

* don't need all that
2020-11-16 18:50:13 -05:00
rusefi d3d5c1474a Hellen says merge #1772 more about ports 2020-09-09 13:39:51 -04:00
David Holdeman 0f10703649 [TCU] GearController and TransmissionController base classes (#1749)
* add tcu ts outputs

* accidental change?

* add tcu base classes

* rearrange

* accidental change?

* add files

* missing backslash

* undo accidental change

* buttonshift includes, targets, and init

* Revert "buttonshift includes, targets, and init"

This reverts commit 1b0630511e1948f3d330d74be5bff6c087f118fb.

* use unused bit

* add return documentation

Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2020-09-02 15:39:50 -04:00
rusefi e4a4377780 TS SD integration #1653 2020-08-02 22:31:11 -04:00
rusefi 9a33e922af The Big Refactoring of 2019: folder structure #723 2020-08-02 20:46:40 -04:00
rusefi 0ec3ce595e dead code 2020-04-26 17:40:12 -04:00
Matthew Kennedy 214285facc Deduplicate mpu_util headers (#1187)
* this flag did nothing

* header dedupe

* mre fix again

* get all dependencies in mpu_util.h

* guard can/spi

* more dedupe

* pragma once

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-13 18:48:22 -04:00
Matthew Kennedy 9a81b7d2c5 Move can_hw.cpp in to drivers folder (#1184)
* relocate

* include path

* simulator makefile

* fix mre while we're at it

* it would help if I fixed it right
2020-03-13 09:50:43 -04:00
Matthew Kennedy adac5fba78 Control stepper with dual H-bridges (#1121)
* divorce stepper from hw

* oops

* ptr not ref

* hbridge stepper

* typo

* hook up twin h

* hook up hardware

* use config field

* hook up motor repo

* guard tests

* whoops

* ok fix for real

* ok that's the right thing

* do full stepping

Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.stagpad.local>
Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.local>
2020-03-10 15:18:29 -04:00
rusefi 8bbd06d165 refactoring: time to unify digital pin API 2019-11-11 23:32:09 -05:00
rusefi 99c5fcbd90 different take on #971 2019-11-11 21:25:40 -05:00
Matthew Kennedy dfcc9dba04 add sensor framework, tests (#929)
* add framework, tests

* move oil pressure to new way

* add init logic

* brackets on the same line

* spaces -> tabs

* spaces -> tabs for tests

* bracket on same line

* hook up sensor mocking

* add nan check

* fix nan check

* I wrote an essay

* casing

* only init if we have a sensor to init

* style, actually call init

* format

* fix casing

* typo

* implement linear sensor

* wire up producer

* smarter limiting

* setup comments

* add reporting

* doxyfile

* oops

* add adc subscription

* clarity

* fix logic

* multiply voltage

* test styling

* test guards

* remove dependencies

* linear sensor test

* remove unused

* fix merge

* format, implicit convert op

* explicit

* format tests

* fix merge
2019-09-21 14:33:38 -04:00
rusEfi 475377dcfc DFU command & refactoring 2019-08-03 19:58:38 -04:00
rusefi d57779b686 F7 nucleo does not work?
funny, it was about some very unused feature
2019-08-02 01:36:02 -04:00
rusefi 3776539ed5 docs 2019-07-28 11:46:41 -04:00
andreika-git 20b6a17695 EFI_CONSOLE_UART_DEVICE, flash->hw_ports, Fix TLE6240 and misc.fixes (#793)
* rename EFI_CONSOLE_UART_DEVICE -> EFI_CONSOLE_SERIAL_DEVICE

* Impl. EFI_CONSOLE_UART_DEVICE

* Move flash source files to ports/stm32/ & hw_ports.mk

* Fix TLE6240

* Fix EFI_NO_CONFIG_WORKING_COPY

* EFI_PRINT_MESSAGES_TO_TERMINAL
2019-05-05 11:06:27 -04:00
rusefi e359ddbb25 MC33816 integraion #784
progress
2019-05-03 21:54:38 -04:00
rusEfi 71976df42f MC33816 integraion #784
bare bones skeleton
2019-05-03 21:13:25 -04:00
rusefi 50c481924e steps towards smarter gpio 2019-04-13 10:58:52 -04:00
dron0gus eee9a5c867 trigger input: add PAL support (#743) 2019-04-12 14:05:53 +02:00
rusefi e30dfaf333 reducing duplication
removing unused (?) defines
removing value space overlap between PROJECT_BOARD and PROJECT_CPU
2019-04-09 18:37:25 -04:00
rusefi 0121a7bc5b The Big Refactoring of 2019: folder structure #723 2019-04-02 23:19:21 -04:00
andreika-git 03a8e68b2d trigger_input_icu, EFI_ENABLE_MOCK_ADC, HALINC_CONTRIB (#724)
* trigger_input_icu.cpp

* EFI_ENABLE_MOCK_ADC

* $(HALINC_CONTRIB)
2019-03-31 23:15:32 +02:00
andreika-git a79175f6ef More portability & small fixes (#719)
* Use hw_stm32.mk

* Fix bootloader

* Use more common hw_ports.mk filename instead of hw_stm32.mk

* More CPU compatibility for Makefile

* TS_UART_MODE & rename TS_SERIAL_UART_DEVICE->TS_SERIAL_DEVICE

* Move lockAnyContext()/unlockAnyContext() to rfiutil.c

* USE_FATFS

* EFI_LCD

* Less compilation errors

* STATUS_LOGGING_BUFFER_SIZE & SETTINGS_LOGGING_BUFFER_SIZE

* EFI_ALTERNATOR_CONTROL, EFI_SERVO, EFI_DISABLE_CONSOLE_ACTIONS

* #ifndef PWM_PHASE_MAX_COUNT & more flexible GPIO inside portname()

* merge

* EFI_ALTERNATOR_CONTROL, EFI_ELECTRONIC_THROTTLE_BODY
2019-03-29 15:29:01 +01:00
rusefi e28ce71bb8 unifying_file_naming 2019-03-29 09:11:13 -04:00
andreika-git 2363d1b4ae Fix bootloader (#717)
* Use hw_stm32.mk

* Fix bootloader
2019-03-29 06:46:48 +01:00
andreika-git a3f33f3f0d More compatibility for ADC_inputs, etc. (#716)
* Move STM32-specific ADC pinouts to ports/stm32/stm32_common.cpp

* Move STM32-specific files to ports/*

* setAdcChannelOverrides()

* Add #ifdefs for adc_inputs (PWM_FREQ_*, PWM_PERIOD_*, ADC_*_DEVICE)

* addChannel(), removeChannel()

* fix tle6240 compilation

* Add stm32_common.cpp to Makefile

* More ports/stm32/* paths

* More ports/stm32/* paths

* More flexible GPIO ports

* Add #ifdef for GPTDEVICE

* EFI_BOARD_TEST and EFI_JOYSTICK

* EFI_TLE8888

* Fix HIP9011_logic compilation

* ADC_CHANNEL_SENSOR

* Move ioportid_t PORTS[] to ports/*

* Fix simulator
2019-03-28 22:46:10 -04:00
rusefi 7dfabdbe4d #35 2019-01-04 00:22:35 -05:00
rusefi 2140a95a7d ion sense progress 2018-12-31 16:00:41 -05:00
rusefi e8579e7e8e reviving stm32f1 2018-12-26 22:17:51 -05:00
rusefi 1c373573a2 EXTI refactoring 2018-12-18 23:50:29 -05:00
andreika-git 96dfebc542 STM32 Nucleo144-F767ZI board: Initial support (#620)
* More EFI_ #ifdefs for config flexibility

* Even more config flexibility

* New firmware/config/stm32f7ems/* files

* New firmware/config/boards/NUCLEO_F767/* files

* New firmware/hw_layer/stm32f7/* files

* Fix for EFI_USB_SERIAL

* Adding #if defined(STM32F7XX)

* SPI flags changed in F7: SPI_CR1_DFF --> SPI_CR1_CRCL

* I2Cv2 config changed in F7

* More versatile CCM defines

* Makefiles

* Double #ifs cleanup

* docs
2018-11-16 07:40:06 -05:00