Commit Graph

211 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 68e2b4634f adapt OpenOCD script 2019-08-21 17:00:13 +08:00
Astro 82b6e8e179 main: rm stale coda, poll adc, broadcast over tcp 2019-08-08 02:26:53 +02:00
Astro 057ddbdbf6 add ad7172 adc 2019-08-08 02:26:53 +02:00
Astro 4437a4195e delay: is unsafe 2019-08-08 02:26:53 +02:00
Astro 44f48f6e0f main: construct softspi 2019-08-08 02:26:53 +02:00
Astro 9c7ca0df87 add board::delay 2019-08-08 02:26:53 +02:00
Astro f04bbd8726 softspi: add SyncSoftSpi 2019-08-08 02:26:53 +02:00
Astro 4bf52b093e implement softspi 2019-08-08 02:26:53 +02:00
Astro 5f3d674e24 add gpio abstraction 2019-07-30 18:25:35 +02:00
Astro e4478c3efd timer setup 2019-07-30 17:02:05 +02:00
Astro 2ac3485b30 dismantle ionpak, drive PWMs at fixed rate 2019-07-30 15:35:56 +02:00
whitequark 517e531589 Update for Rust 1.32, and upgrade dependencies. 2019-02-06 09:19:28 +00:00
whitequark 89104a551c Update for latest nightly. 2018-08-28 19:57:17 +00:00
whitequark 941f602a20 Use the crc crate. 2018-03-27 10:16:11 +00:00
whitequark 6ffb157cb8 Add Cache-Control header for static assets.
This avoids wasting device cycles on retrieving the same data over
and over.
2018-03-27 09:36:16 +00:00
whitequark 2bdc483e15 Unbreak network configuration page. 2018-03-27 09:32:37 +00:00
whitequark 2d29078ba1 Remove unused import. 2018-03-27 09:17:57 +00:00
whitequark 8de311a34f Remove unnecessary unsafe blocks. 2018-03-27 09:17:34 +00:00
whitequark b13ef96bbe Fix RxRing::buf_release.
The original code was correct after all.
2018-03-27 09:13:11 +00:00
whitequark 308ad97586 Rewrite ethmac to split ownership into RX/TX halves. 2018-03-27 09:10:47 +00:00
whitequark 5a5596f7a2 Fix signature of panic_fmt even further. 2018-03-27 08:55:35 +00:00
whitequark dce70f352a Fix signature of panic_fmt. 2018-03-27 08:41:23 +00:00
whitequark f067d0fee9 Fix DMA writing to dangling pointers in ethmac. 2018-03-26 12:35:28 +00:00
whitequark 83629cac49 Update smoltcp. 2018-03-26 11:37:14 +00:00
whitequark 4cac825c41 Update firmware dependencies. 2018-03-26 11:33:00 +00:00
Sebastien Bourdeauducq e1d7924969 openocd: use find instead of hardcoded paths 2018-03-19 20:31:41 +08:00
Sebastien Bourdeauducq cbdd2c409c Revert "Revert the rx_buf_release() change in 8491394a."
This reverts commit 724221c643.
2018-03-19 15:39:41 +08:00
whitequark dcb5321e82 Fix cmp::max/min mixup in 8491394a. 2018-01-29 07:43:25 +00:00
whitequark 724221c643 Revert the rx_buf_release() change in 8491394a. 2018-01-29 07:30:12 +00:00
whitequark c6887e3813 Update cargo-m-rt.
Required for compatibility with newer rustc nightlies.
2018-01-26 13:07:43 +00:00
whitequark 8491394a50 Update to newer smoltcp.
This also fixes a bug where RX descriptors would be first advanced
and then released.
2018-01-26 13:07:43 +00:00
Sebastien Bourdeauducq fe088d7bba update errata 2017-12-29 15:05:12 +08:00
Sebastien Bourdeauducq 416ac30496 do not use GDB for loading firmware
GDB adds unnecessary steps and it is buggy.
2017-09-25 19:15:46 +08:00
Sebastien Bourdeauducq 30746d0565 update smoltcp 2017-09-09 17:25:07 +08:00
Sebastien Bourdeauducq 916e940780 update smoltcp 2017-09-05 17:26:23 +08:00
Sebastien Bourdeauducq e6f3a65642 add JSON interface 2017-08-08 13:13:41 +08:00
Sebastien Bourdeauducq 9c64304cf2 support resetting settings using pushbutton 2017-08-08 12:19:05 +08:00
Sebastien Bourdeauducq 5c1cacbd38 support setting IP address via web interface 2017-08-08 11:05:09 +08:00
Sebastien Bourdeauducq 1a06b524d2 implement support for HTTP GET arguments 2017-08-08 11:04:38 +08:00
Sebastien Bourdeauducq e8174f0773 config fixes 2017-08-08 10:48:59 +08:00
Sebastien Bourdeauducq e5ea9a3918 add config module 2017-08-07 23:57:29 +08:00
Sebastien Bourdeauducq 5955c0f97d more eeprom cleanups, use u8 for buffer 2017-08-07 23:56:51 +08:00
Sebastien Bourdeauducq bd9082561c add missing file from previous commit 2017-08-07 20:03:18 +08:00
Sebastien Bourdeauducq 49cac15621 track firmware version and expose to HTTP 2017-08-07 17:54:25 +08:00
Sebastien Bourdeauducq 98256a0239 clean up index.html 2017-08-07 16:49:47 +08:00
Sebastien Bourdeauducq 3059720430 configure Ethernet LED 2017-08-07 16:36:21 +08:00
Sebastien Bourdeauducq d812932732 cleanup and integrate EEPROM driver 2017-08-07 16:13:29 +08:00
Alexander Shafir f94b50e9ab add EEPROM driver 2017-08-07 12:27:59 +08:00
Sebastien Bourdeauducq dcd2a57aa4 get_time_ms: ADC sampling takes NSH+12 cycles and not NSH 2017-08-07 11:25:39 +08:00
Sebastien Bourdeauducq 5ef86b4516 detect invalid programmed MAC address 2017-08-07 11:18:19 +08:00
Alexander Shafir 115211c143 fix ethmac initialization 2017-08-07 11:18:00 +08:00
Sebastien Bourdeauducq e7bca6d0c7 fix TX buffer length in ethmac 2017-08-07 10:47:39 +08:00
Sebastien Bourdeauducq 93d0401b71 report measurements on HTTP page 2017-08-07 10:42:43 +08:00
Sebastien Bourdeauducq 5d4a223800 report target filament voltage 2017-08-07 10:37:24 +08:00
Sebastien Bourdeauducq c815d4d37f tweak cathode PID 2017-08-07 10:36:26 +08:00
Sebastien Bourdeauducq 9a4adb267d optimize electrometer averaging 2017-08-07 00:24:41 +08:00
Sebastien Bourdeauducq cccd6e52f6 remove GDB breakpoint at startup 2017-08-06 19:56:04 +08:00
Sebastien Bourdeauducq e676cb59bf work around ADC sample rate snafu 2017-08-06 19:53:16 +08:00
Sebastien Bourdeauducq f156c7c6d1 print panic messages on UART 2017-08-06 19:52:11 +08:00
Sebastien Bourdeauducq d18712d1be flashed MAC address doesn't work 2017-08-06 19:12:10 +08:00
Sebastien Bourdeauducq 68eb1cdbba start ADC after initialization, to avoid FIFO overflows 2017-08-06 19:06:47 +08:00
Sebastien Bourdeauducq 98b17fc574 update dependencies 2017-08-06 12:59:30 +08:00
Sebastien Bourdeauducq 1da96a2a4d convert ADC interrupt count to milliseconds 2017-08-06 11:37:24 +08:00
Sebastien Bourdeauducq 8247c8f5a5 refactor ethmac 2017-08-06 02:18:33 +08:00
Sebastien Bourdeauducq e8d6d84ac5 superficial ethmac cleanup 2017-08-05 16:24:22 +08:00
Sebastien Bourdeauducq 648b4da9da integrate ethmac/smoltcp (timestamp missing), add HTTP server 2017-08-05 15:51:54 +08:00
Sebastien Bourdeauducq 98f116e226 compile ethmac driver 2017-08-02 00:33:33 +08:00
Alexander Shafir 0ab3b6116e add ethmac driver 2017-07-31 13:37:00 +08:00
Sebastien Bourdeauducq 914dc7f6c8 increase clock frequency, enable FPU correctly 2017-06-12 19:22:23 +08:00
Sebastien Bourdeauducq 52c123f215 raise threshold for switching to more sensitive IC range 2017-06-08 21:51:11 +08:00
Sebastien Bourdeauducq 5f19c2fdf5 clean up gauge parameters 2017-06-08 21:50:39 +08:00
Sebastien Bourdeauducq 0094a73336 add more pictures 2017-06-07 15:06:50 +08:00
Sebastien Bourdeauducq 680a00779e update readme, reorganize 2017-05-18 17:07:07 +08:00
Sebastien Bourdeauducq ebc341f28c add missing PID update 2017-05-17 00:08:02 +08:00
Sebastien Bourdeauducq 5f90960ce1 tweak emission PID parameters 2017-05-17 00:07:43 +08:00
Sebastien Bourdeauducq 5e13d30cc1 add parameters for chinese ion gauges 2017-05-17 00:06:36 +08:00
Sebastien Bourdeauducq 246839f153 autoselect IC range 2017-05-13 15:40:41 +08:00
Sebastien Bourdeauducq dc4534eb00 average more IC samples 2017-05-13 15:08:01 +08:00
Sebastien Bourdeauducq ba1482db43 adjust anode PID coefficients 2017-05-13 15:07:50 +08:00
Sebastien Bourdeauducq ad447cd5f9 use PID for FV, print all debug messages 2017-05-12 11:07:35 +08:00
Sebastien Bourdeauducq 44d95973ca add electrometer, introduce *Status objects 2017-05-11 23:15:01 +08:00
Sebastien Bourdeauducq c676102b33 handle protection, print current/voltage values 2017-05-11 14:55:00 +08:00
Sebastien Bourdeauducq 1c516ca357 update FD_ADC_GAIN for new value of R234 2017-05-11 10:54:32 +08:00
Sebastien Bourdeauducq fd507cb6fb average emission current samples, implement emission_ready 2017-05-10 00:29:52 +08:00
Sebastien Bourdeauducq 8975f8c240 compute emission current, filament voltage and bias voltage 2017-05-10 00:10:52 +08:00
Sebastien Bourdeauducq 9662570999 print message on protection latch 2017-05-10 00:10:16 +08:00
Sebastien Bourdeauducq f993e65fca fix elapsed counter 2017-05-09 19:08:16 +08:00
Sebastien Bourdeauducq caec6f1a3b compute FV and FBV 2017-05-09 19:07:59 +08:00
Sebastien Bourdeauducq c7f4dba53a remove unnecessary mut 2017-05-09 19:06:42 +08:00
Sebastien Bourdeauducq e4f513d444 reorganize 2017-05-09 15:58:06 +08:00
whitequark 8a49dfc980 Add UART debug port. 2017-05-09 05:16:00 +00:00
Sebastien Bourdeauducq 9fdce3ac4c speed up ADC 2017-05-08 23:47:05 +08:00
Sebastien Bourdeauducq 252b8eeb28 put ADC in continuous sample mode 2017-05-08 23:24:23 +08:00
Sebastien Bourdeauducq ecadb7c996 some PID tuning 2017-05-08 23:22:42 +08:00
whitequark b07cd31572 Raise ADC clock to 32 MHz (maximum). 2017-05-08 13:28:25 +00:00
Sebastien Bourdeauducq 592aee4735 update dependencies 2017-05-08 10:08:16 +08:00
whitequark ba37d13dae Enable FPU. 2017-05-07 17:32:53 +00:00
whitequark 3b7eb8bd9a Make ADC actually work. 2017-05-07 16:59:03 +00:00
whitequark 0ba8971aff Enable PLL at 320 MHz. 2017-05-07 16:28:03 +00:00
whitequark d6bfba821e Unbreak ADC interrupt. 2017-05-06 16:00:01 +00:00
Sebastien Bourdeauducq 15c9bafb51 reset error latch at startup 2017-05-06 21:48:04 +08:00
Sebastien Bourdeauducq 0cb8d0c53d pid: use Option instead of NaN 2017-05-06 20:43:33 +08:00
Sebastien Bourdeauducq a39c95e276 HV PID control (untested) 2017-05-06 17:17:41 +08:00
Sebastien Bourdeauducq 8abeff05a1 Report error pin status 2017-05-06 12:33:38 +08:00
Sebastien Bourdeauducq 1069944ea2 style 2017-05-06 12:32:13 +08:00
Sebastien Bourdeauducq 4da283648b get ADC samples as ints 2017-05-06 12:30:56 +08:00
Sebastien Bourdeauducq 63c65448b2 fix gitignore 2017-05-06 12:29:42 +08:00
whitequark 5431780700 Also set AFSEL bits for pins where AMSEL is set. 2017-05-05 12:05:19 +00:00
whitequark afda70c2a0 Move README.md back where it belongs. 2017-05-05 11:32:22 +00:00
whitequark 5a011ea410 Implement ADC readout. 2017-05-05 11:31:12 +00:00
whitequark e17658c8db Move firmware to firmware/. 2017-05-05 09:23:08 +00:00