Commit Graph

567 Commits

Author SHA1 Message Date
67a32cdc20 Safety Controller:
* Add watchdog code
* Add file structure for safety controller
* Lay groundstones to move all error flags to the safety controller
* Improve doxygen
2020-07-06 21:12:18 +02:00
8a365ab5e0 Move safety ADC to safety subfolder 2020-07-06 20:13:01 +02:00
7cd05e1582 Update shellmatta 2020-06-25 23:54:36 +02:00
0e97d57883 Improve menu function 2020-06-25 23:52:58 +02:00
cced874460 Add Pullup to uart RX pin 2020-06-21 01:29:50 +02:00
49927a25cf Add Omega as unit for Ohm in LCD menu 2020-06-16 20:05:32 +02:00
a7c91cee0e GUI: About menu: Add '[DEBUG]' text if code is build in debug mode 2020-06-15 22:00:47 +02:00
acbde24c2f Makefile: Add program-debug option for flashing debug elf 2020-06-15 21:57:36 +02:00
47d8df052a Makefile: Make a separate memory mapfile for each build configuration (release or debug) 2020-06-15 21:48:37 +02:00
3705cc09d1 SDIO driver: Fix minor issues in SDIO driver 2020-06-15 21:31:49 +02:00
ecd8d2537d Append -release to release output elf 2020-06-15 21:24:27 +02:00
56439a3b13 Makefile: Add differnet targets for debug and release builds 2020-06-15 21:22:05 +02:00
78417e0c8c Progress in error handling 2020-06-14 23:36:49 +02:00
62a3e06baa Fixx style problems and design errors in main.c 2020-06-14 23:22:35 +02:00
485b887b54 fix too long lines 2020-06-14 22:56:34 +02:00
fe75b93ec7 Fix logical or operator 2020-06-14 20:26:32 +02:00
ab157bfb5a Fix empty line 2020-06-14 19:15:02 +02:00
f0bf10d91d use correct LED for error blinking 2020-06-14 19:13:50 +02:00
cbd28f9a12 Add safety management in PID handler and main loop 2020-06-14 19:10:09 +02:00
a33154b2d0 Move shadow buffer of LCD to CCMRAM 2020-06-14 18:02:45 +02:00
828b47f3be Fix error in power handling of LCD FSM 2020-06-14 17:52:27 +02:00
7b426c93c9 About GUI menu: Improve rotary handling 2020-06-14 16:26:32 +02:00
20fd7b41e6 Edit about menu: Add new entry for serial number and compile info 2020-06-14 16:19:42 +02:00
f60545f664 make convenience pointer to global structs const 2020-06-14 14:50:27 +02:00
679d4534cb Add formatted prinbt function for LCD menu and use systick vonversion in uptime shell command 2020-06-14 14:45:58 +02:00
372be53471 make uptime in LCD UI use systick function for converting uptime 2020-06-14 14:16:12 +02:00
0cdc7448e4 Systick: Add function to calculate uptime in days, hours, minutes, and seconds from global tick 2020-06-14 13:35:47 +02:00
43b4fd1e77 Changes for menu
* Make Systick a 100us Timer. Millisecond ticks are still untouched.
* LCD now has a 100us resolution tick
* LCD uses 500us delay for waitstate
* Make 'About' menu verbose:
	* Add 3 page menu
	* 1st page: Generic info
	* 2nd page: Version info
	* 3rd page: Uptime in seconds
2020-06-14 13:25:47 +02:00
d178910594 Fix last change to make controller WFI in LCD_FMS_NOP state 2020-06-14 01:34:42 +02:00
6f4363e021 Change return value of reflow_menu_handle 2020-06-14 01:31:44 +02:00
0fca4c6c20 LCD Timing changes 2020-06-14 01:04:21 +02:00
7595e6ced8 Fix smaller code mistake in LCD FSM 2020-06-13 23:37:04 +02:00
2547c134f2 Add PID controller to oven driver module 2020-06-13 23:23:59 +02:00
a6dc4f9b46 Add about command to menu and restructure code. Delete preliminary code from mainloop. Better code will follow 2020-06-13 22:47:45 +02:00
e627cb67a5 fix smaller bugs in Menu code and implement first test of main menu with one functional sunbmenu for the safety parameters 2020-06-12 01:35:37 +02:00
d6e489bb61 Add defines for special LCD characters 2020-06-11 23:58:51 +02:00
3b2d8c14c3 Change division to multiplication in floating point operation 2020-06-09 23:01:04 +02:00
949d16cd03 Add display buffer to ccm ram 2020-06-09 22:53:13 +02:00
917497e7e4 implement display update function for lcd menu 2020-06-09 22:50:20 +02:00
7db5f02067 implemnt scrollable menu field. Not yet tested 2020-06-09 22:43:00 +02:00
70730fd0f0 Add qtproejct target to Makefile which generates a usable qtcreator project folder 2020-06-09 21:50:37 +02:00
c63986e271 Add further testing code for rotary encoder and lcd 2020-06-09 19:03:33 +02:00
9615fdb39d Further menu implementations 2020-06-04 21:53:00 +02:00
fc2372f754 Fix possible error in menu implementation 2020-06-04 21:47:31 +02:00
92c0c5cd8c shrink shellmatta history buffer 2020-06-04 21:46:45 +02:00
25bb341fa4 Implement preliminary menu functions 2020-06-04 21:20:59 +02:00
0d44d25ec9 Add reminder to implement checking of safety ADC 2020-06-04 21:20:43 +02:00
6b4029f8c2 Make startup file unix like and add a hardcoded enable for the FPU 2020-06-04 21:20:17 +02:00
76f5a4e9be Fix error in safety ADC 2020-06-01 22:59:27 +02:00
f493b823b3 Add lcd-menu module as specific implementation module for the menu on the LCD 2020-06-01 21:45:36 +02:00
d508402aa8 Add basic definitions for menu entries 2020-06-01 21:42:31 +02:00
6477950eea Merge branch 'dev' into ui 2020-06-01 20:53:43 +02:00
5819a0736c Add defines for safety adc conversions 2020-06-01 20:53:28 +02:00
f956968cb4 Make reading the global ms tick atomic in order to prevent glitches 2020-06-01 20:45:27 +02:00
1751db31c5 Fix typo 2020-06-01 20:44:58 +02:00
e659c6d097 make PID controller mathemtaically correct 2020-05-25 01:56:54 +02:00
355e81ba44 Add multitone support for loudspeaker 2020-05-24 23:35:17 +02:00
c18acba48b Merge branch 'dev' into ui 2020-05-16 21:08:24 +02:00
e97092042b Add preliminary safety ADC which measures the Controller temperature and checks the reference voltage against the STM's internal reference voltage 2020-05-16 21:00:55 +02:00
dc8beefb63 Move PT1000 Measurement from ADC1 to ADC3 in order to make ADC1 free for Safety ADC implementation 2020-05-16 20:59:51 +02:00
6c013d5aa3 Merge branch 'dev' into ui 2020-05-11 21:59:25 +02:00
2614cea431 Make claibration routine non blocking 2020-05-11 21:59:08 +02:00
b9857745b1 Fix parentheses in macros 2020-05-11 21:52:11 +02:00
13bdd6b8eb Cleanup main function 2020-05-11 21:51:32 +02:00
0b83125ab5 Merge branch 'dev' into ui 2020-05-10 23:13:47 +02:00
8d6c81441d Add oven PWM controller 2020-05-10 23:13:03 +02:00
5fcb5305f8 Implement dummy for calibration save function 2020-05-09 20:51:30 +02:00
d6d8973800 Fix typo in comment 2020-05-09 20:51:06 +02:00
99ae5f9bc1 Add lcd to menu 2020-05-09 20:50:15 +02:00
4f05c084d9 Make ptdump command async: Main loop will continue if comamnd is called 2020-05-09 20:40:31 +02:00
8f2418eb7c Merge branch 'dev' into ui 2020-05-09 20:01:56 +02:00
a25d3bc8c9 make display faster 2020-05-09 19:56:47 +02:00
8a0572d698 Move main loop implementation torwards target 2020-05-05 18:55:55 +02:00
2187c1a712 Write a few doxygen headers 2020-05-05 18:19:49 +02:00
60602008d4 Update 'stm-firmware/ui/lcd.c' 2020-05-05 08:07:24 +02:00
04389b1df6 Use correct format specifier in printf for uint32_t 2020-05-05 00:01:09 +02:00
90da880386 Makefile: Cleanup whole obj/ dir when clean 2020-05-05 00:00:44 +02:00
bd82f55966 Show rotary encode value on display 2020-05-04 21:36:53 +02:00
3d48bfb6a6 Fix lenght of LCD from 20 chars to 16 chars 2020-05-04 21:36:37 +02:00
ea3d0121cc Add selected functions to optimization for faster interrupt handling 2020-05-04 21:31:02 +02:00
e2c2be6e30 Implement state machine controlled async LCD writing 2020-05-04 21:21:49 +02:00
df82f14206 Make LCD code working. Add FSM for LCD in order to write it in mainloop 2020-05-02 19:10:20 +02:00
e237776810 Fix parenthesis in macros 2020-05-02 19:09:17 +02:00
88062dc8e4 Add systick function that checks for passed ticks with correct wrap around 2020-05-02 19:06:42 +02:00
67899c8f02 Merge branch 'dev' into ui 2020-05-01 19:53:43 +02:00
cfaffc7d50 Update shellmatta to newset version 2020-05-01 19:52:46 +02:00
fe51c80248 Merge branch 'dev' into ui 2020-04-27 21:53:27 +02:00
e7106b54c4 Add cat command 2020-04-27 21:52:52 +02:00
119aa1b0ff Add main loop counter 2020-04-27 21:08:53 +02:00
415979e211 Merge branch 'dev' into ui 2020-04-27 20:20:03 +02:00
d91463c458 Make MOTD clear the screen 2020-04-27 20:19:49 +02:00
122a16ad4e Use button module in main loop 2020-04-27 20:18:45 +02:00
3834bd404c Fix button module and adjust long keypress time to a sane value 2020-04-27 20:18:12 +02:00
eb3b0eb459 Merge branch 'dev' into ui 2020-04-27 19:28:32 +02:00
9761204b08 Update shellmatta to newest version 2020-04-26 22:25:50 +02:00
4df68880f0 Add correct handling of sd card, add reset command, add ls command 2020-04-26 21:23:25 +02:00
6e07a363f4 Add settings module 2020-04-26 20:22:00 +02:00
cf3818040c Add support for subdirectories in create-c-file script 2020-04-26 20:20:57 +02:00
2d3b61550b Fix ADC Watchdog handling 2020-04-26 19:53:06 +02:00
85fe0f6749 Fix LEDs in ptdump command 2020-04-26 19:52:48 +02:00
5ae31a1705 Increase ADC_PT1000_WATCHDOG_SAMPLE_COUNT to 50 2020-04-26 19:20:45 +02:00
ffe195d7b2 ADC Measurment: Introduce ADC_PT1000_WATCHDOG_SAMPLE_COUNT in order to filter out false Watchdog errors produces by EMI problems" 2020-04-26 18:09:39 +02:00
b9a38549dc Add stack_check_collision() function 2020-04-23 00:09:44 +02:00
8df0a6c774 Fix license header 2020-04-20 21:30:00 +02:00
7fca0fc31d Merge branch 'dev' into ui 2020-04-20 21:17:46 +02:00
8125fc4ffb Add preliminary test for PID controller 2020-04-20 21:17:31 +02:00
d0fa0cf39c Fix typo in comment 2020-04-20 21:17:24 +02:00
c419ca7bcb Add PID controller and oven driver module 2020-04-20 21:16:39 +02:00
5017bf7003 Merge branch 'dev' into ui 2020-04-20 01:21:08 +02:00
985c29b281 Change shellmatta help alias to a question mark 2020-04-20 01:19:37 +02:00
d85381e30e Reroute stderr to uart and color it red 2020-04-20 01:06:25 +02:00
83978e8188 Fix typo 2020-04-20 01:06:01 +02:00
4e4dc8e16e Add dynamic memory info to meminfo command 2020-04-20 01:05:48 +02:00
66d6a76e1a Fix shell prompt 2020-04-20 00:15:37 +02:00
455c3dae68 Merge branch 'dev' into ui 2020-04-19 16:39:27 +02:00
310922161a Add ptdump shell command 2020-04-19 16:37:33 +02:00
f119433814 Merge branch 'dev' into ui 2020-04-18 01:42:30 +02:00
c745f865bd Add device programming to target in Makefile 2020-04-18 01:39:50 +02:00
cbd3e56503 Make programming script take the elf file as an argument 2020-04-18 01:37:50 +02:00
18bb0ae1af Merge branch 'dev' into ui 2020-04-17 23:11:30 +02:00
0ef58a7d0d Fix code style problems 2020-04-17 23:10:46 +02:00
f583d03785 Adapt GCC parameters for compilation 2020-04-17 23:07:56 +02:00
8281bcaca3 Fix CPU specifier in startup assembly file (This had no bad effect, because it was overrriden by the compiler falgs which are correct) 2020-04-17 23:02:15 +02:00
1acce563c1 Merge branch 'dev' into ui 2020-04-14 21:41:53 +02:00
bf985a9ca4 Silence unused variable warning in _kill system call dummy 2020-04-14 21:39:38 +02:00
cd23e93825 Add newest shellmatta and include missing syscalls 2020-04-11 00:54:17 +02:00
f2c596a670 Update shellmatta to newest dev version 2020-03-09 19:20:27 +01:00
d5c459d136 Update shellmatta to newest version 2020-03-01 21:06:10 +01:00
9b90af8405 Make clean target silent in Makefile 2020-03-01 21:05:50 +01:00
9311d0b515 Write button code 2020-02-25 21:01:34 +01:00
0bc341c0aa Merge branch 'dev' into ui 2020-02-25 20:24:12 +01:00
a338831d69 Add FatFS hello world. Will be removed but shows, that device is functional 2020-02-25 20:05:48 +01:00
4487f854cd Merge branch 'dev' into ui 2020-02-25 19:49:14 +01:00
a39fe09de4 Remove files for onewire sensor. Will add them when necessary. 2020-02-25 19:48:14 +01:00
31769fd42d remove onewire interface from compilation 2020-02-25 19:43:51 +01:00
0ddaef01c8 Start onewire interface. But probably won't finish it 2020-02-25 19:34:50 +01:00
71e2073a76 reflect bitrate change of uart in uart struct 2020-02-24 22:15:36 +01:00
c923fb3e12 Add baudrate change function to uart driver 2020-02-24 22:09:58 +01:00
49835d9213 Merge branch 'dev' into ui 2020-02-24 20:03:57 +01:00
1ef7713351 Start implementation of onewire temperature sensor interface 2020-02-24 20:02:45 +01:00
26b8ad852e Add static module for onewire temperature sensors 2020-02-24 19:21:29 +01:00
f09877921a start onewire interface 2020-02-24 19:16:46 +01:00
5012b726cd Make Uart driver universal 2020-02-24 18:50:09 +01:00
4bc85d474f c 2020-02-24 18:48:26 +01:00
5948ac2897 fix stray tab in makefile 2020-02-23 22:00:21 +01:00
55b664b58f Fix possible bufferoverflow with strncpy 2020-02-23 21:57:50 +01:00
fcbd1ae05e Init Button. Interrupt still missing 2020-02-23 21:48:52 +01:00
6700b0ea81 Add pupdr macros 2020-02-23 21:48:30 +01:00
6965882435 Add temporary LCD code 2020-02-23 21:22:38 +01:00
c35c80ce24 Add files for user interface via rotaryencoder/button and LCD 2020-02-23 21:06:42 +01:00
8ffc5c11e0 Fix style in shell.c 2020-02-23 21:06:24 +01:00
37e2c78b0b Merge branch 'master' into dev 2020-02-23 21:00:17 +01:00
e85a26d90b Fix bug in uart, when compiled in release mode 2020-02-23 20:58:56 +01:00
c3ff199a09 remove TODO from makefile 2020-02-23 20:58:35 +01:00
6832afa087 Add all qtcreator files to ignore list 2020-02-23 20:58:13 +01:00
be65301986 Fix style 2020-02-21 23:37:48 +01:00
30aa1149a3 Merge branch 'ui' into dev 2020-02-21 23:08:38 +01:00
68fc473372 Add stack checking functions 2020-02-21 23:01:04 +01:00
b5d4bf5528 Add stack checker module andf fix all license headers 2020-02-21 21:22:01 +01:00
532262f670 Fix rotary encoder relative change function 2020-02-16 18:17:19 +01:00
85ecc3064a Correct typo in doxygen's project name 2020-02-16 17:37:26 +01:00
f8076920fe Start doxygen documentation 2020-02-16 17:35:41 +01:00
9629c08da2 Add doxygen 2020-02-16 16:52:21 +01:00
a35f66f2cd Add code for rotary encoder 2020-02-16 16:38:31 +01:00
6fa071e1d1 Add rotary encoder module 2020-02-16 14:25:49 +01:00
47daf495bd Remove random calibration try 2020-02-16 14:21:40 +01:00
7ade829a70 Make ring buffers volatile 2020-02-16 11:42:18 +01:00
1d62bc22b8 Increase programming clock freq to 4 MHz 2020-02-16 00:42:00 +01:00
6ed7a4886d change programming speed to 1 MHz in order to prevent communication errors 2020-02-15 23:17:41 +01:00
3781ecb669 Update programming scripts 2020-02-15 23:09:23 +01:00
4c5b3add1d Add scripts for device programming using JLINK 2020-02-15 22:25:53 +01:00
c3be39b4e5 Add license header to all files 2020-02-15 22:09:55 +01:00
43473efcdd Add fallthrough warning for switch cases explicitly to CFLAGS 2020-02-15 21:06:45 +01:00
7df97831be Add conversion function for resistance to temperature conversion and add it to thept command of the shell 2020-02-15 20:31:38 +01:00
b13b3b4377 Add script for generating PT1000 lookup dat and generate first header file 2020-02-15 17:54:45 +01:00
c568b95cf2 Add calibration routine from shell 2020-02-15 17:54:13 +01:00
5a00950589 Add deactivated PT1000 measurement as error flag, startcode for calibration routine 2020-02-15 01:04:40 +01:00
b497537a78 Increse heap and stack sizes 2020-02-15 01:03:38 +01:00
723afd9f56 Fix arm math header 2020-02-15 01:03:19 +01:00
ebb95b902c Add python script that creates matching c and h files 2020-02-14 20:39:50 +01:00
40093322c3 Remove wrong file headers 2020-02-12 23:03:17 +01:00
0da3ebed6f Add unique ID as serial number to version output 2020-02-12 22:24:26 +01:00
c6dd4e735c Improve coding and add color to shell output 2020-02-12 22:02:18 +01:00
13c528163d Add compile date to shell version command's output 2020-02-12 21:53:13 +01:00
26f8e7ae99 Document DMA ring buffer 2020-02-12 21:49:28 +01:00
1745a7e2b2 Fix coding in all files 2020-02-12 21:19:11 +01:00
94b59918fc Fix warnings in autogenerated file system_stm32f4xx.c 2020-02-12 21:15:51 +01:00
d095e26c9e Fix code style and warnings in syscalls.c 2020-02-12 21:15:25 +01:00
09507b5734 Add compile options for more warnings 2020-02-12 21:10:15 +01:00
29fed8328c Improve code 2020-02-12 21:08:05 +01:00
bb898adfac Move include files out of uart folder 2020-02-12 21:06:52 +01:00
e4770698e2 Add dependency files to clean target 2020-02-12 21:06:28 +01:00
f04a5c7930 Restructure include hierarchy 2020-02-12 21:00:35 +01:00
d80ce20675 Add uptime shell command 2020-02-11 22:59:30 +01:00
673e651910 Add ring buffer for uart TX 2020-02-11 22:49:47 +01:00
14ba09a716 Update shellmatta to fixed forked version 2020-02-10 22:47:24 +01:00
69c00ff3d3 * Improve uart dma ring buffer. Sending dma still missing
* Add digio module for controlling LEDs, Loudspeaker, and the Digital IOs
* General code improvements
2020-02-10 22:40:37 +01:00
48fea3d36e Make average calculation floating point. 2020-02-09 19:21:06 +01:00
8bbc2e60f8 Update Firmware with features:
* Shellmatta implemented using UART
* Version string implemented
* Increased heap size
* Add shellmatta printf support
2020-02-09 19:13:37 +01:00
1f5a535076 Make average filtering of HF meas path an integer calculation 2020-02-08 19:18:47 +01:00
3ac252db69 Add DMA ring buffer file for UART, Improve calculation of PT1000 resistance 2020-02-05 23:09:23 +01:00
4c7909adac Fix wrong data type of variable in clock manager 2020-02-03 20:20:00 +01:00
1e678c3ce8 Fix bug in clock manager and remove DMA sampling from ADC code. Will be rewritten in a different way 2020-02-03 19:40:59 +01:00
5f9bc29701 Add untested version of clock enable manager 2020-02-03 19:21:50 +01:00
87db430a17 Remove empty lines from linker script, Make .bss section NOLOAD 2020-02-03 18:22:38 +01:00
314bc278eb mark heap and stack as noload sections 2020-02-02 21:38:40 +01:00
bccacc253c Add shellmatta to Makefile, Disable Printf dupport for shellmatta 2020-02-02 20:54:09 +01:00
850d84140e ADC PT1000 Measurement progress 2020-02-02 20:24:44 +01:00
23e754ab2a Add shellmatta Shell 2020-02-02 02:02:18 +01:00
1dcdb3b603 Fix trailing whitespace in Makefile 2020-02-02 02:00:42 +01:00
02a673546e Start implementation of PT1000 ADC measurement 2020-02-02 01:49:37 +01:00
f9eb3c676b delete duplicate arm_math.h and fix doxygen docu for adc_meas 2020-02-02 00:46:12 +01:00
e091ccf19c start firmware: Function definitions for ADC 2020-02-02 00:01:08 +01:00
d5f65fecfc Fix gitignore file name 2020-01-28 18:53:56 +01:00
6da78ba476 Delete jdebug file 2020-01-28 18:53:08 +01:00
080d4d92a1 Add jdebug to gitignore 2020-01-27 21:37:09 +01:00
ad7badba56 First test version to sample temperature input and blink LEDs 2020-01-26 21:07:54 +01:00