Commit Graph

577 Commits

Author SHA1 Message Date
b65d94b0e8 Fix ADC measurement to run at 1000 Hz and fix wrong error handling for PT1000 Watchdog. Add function for flags to shell 2020-07-28 22:55:02 +02:00
97fc04399e Fix recursion loop in safety controller 2020-07-28 21:00:37 +02:00
da96daa767 Reworked measurement ADC to use safety controller 2020-07-27 22:15:01 +02:00
a9e300bf5b Make error structures volatile 2020-07-27 21:32:25 +02:00
4f3016649d First draft of safety controller 2020-07-27 21:29:15 +02:00
a04e894518 Further work on safety controller 2020-07-26 21:40:09 +02:00
9136dc196c Further rewrite safety handling 2020-07-09 22:31:42 +02:00
5eb51f08b6 Start safety implementation. Completely dumped old stuff 2020-07-07 20:47:22 +02:00
06a75559f0 Add structure for safety controller config. 2020-07-07 19:26:00 +02:00
248707055e Fix watchdog init code 2020-07-06 21:37:36 +02:00
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