linuswck
a3885c365e
Implement Save & Load Flash Settings in FSM & cmd
2024-03-05 16:33:45 +08:00
linuswck
a58b0954ec
Add Set Default PWR On cmd for ld & tec
2024-03-05 10:35:05 +08:00
linuswck
92c6cf12d4
Add fns to apply ld, tec settings summary configs
2024-03-05 10:35:05 +08:00
linuswck
ef2410f441
Add fns, struct items for getting ld, tec settings
2024-03-05 10:35:05 +08:00
linuswck
adfa4f5fa3
Move TempAdcFilter struct def to Thermostat
2024-03-05 10:35:05 +08:00
linuswck
df939eb9a3
Use FSM to manage device state in main loop
2024-03-05 10:35:01 +08:00
linuswck
3aca712e1d
Fix typos
2024-03-04 10:32:33 +08:00
linuswck
4526536a48
Ignore packets of 0 bytes size
2024-03-01 11:31:06 +08:00
linuswck
f488786e1c
Use DMA to read Tec_I & Tec_V
...
- Remove the single conversion polling time with DMA
2024-03-01 11:31:01 +08:00
linuswck
3528d8a68f
Update Python Test Scripts
2024-02-28 13:33:51 +08:00
linuswck
46393bacdb
Add comments on TCP client development
2024-02-28 13:00:02 +08:00
linuswck
6fc800e562
net: Set stm32 link speed with the Phy Speed read
2024-02-28 13:00:02 +08:00
linuswck
76477065be
Change f64 to f32 for SI Unit related computation
...
- Save computational time
- Improve the processing speed of TecSetI cmd
2024-02-28 12:59:58 +08:00
linuswck
b1fa0e51c8
Add a separate tec_set_i cmd to reduce overhead
...
- miniconf is slow at validating complex struct with large enum lists
2024-02-28 12:46:21 +08:00
linuswck
9f82fa58f4
cmd: Add temp adc filter config cmd
2024-02-28 12:23:09 +08:00
linuswck
19341672a9
Correct SPI Clock Freq and Set them to Max
...
- Set the SPI frequency to maximum to reduce data transaction time
- SPI1 SCLK is divided from PCLK2
- SPI2, SPI2 SCLK are divided from PCLK1
2024-02-28 12:23:09 +08:00
linuswck
86a9fb039e
boot: Correct PCLK1, PCLK2 freq value
...
- PCLK is divided from HCLK in power of two
- abs max pclk1 = 42MHz
- abs max pclk2 = 84MHz
2024-02-28 12:23:09 +08:00
linuswck
a2bb390ae2
ad7172: Add filter configs for single channel mode
2024-02-28 12:23:09 +08:00
linuswck
18dd0a7963
Save Thermostat and Laser Diode PWR On/Off status
2024-02-28 12:22:40 +08:00
linuswck
d1cc677668
thermostat: split poll_adc & update_pid into 2 fns
2024-02-28 12:21:37 +08:00
linuswck
c09ccc29cd
cmd: Add cmd to get all device settings
2024-02-23 12:45:29 +08:00
linuswck
c4135f6ac3
cmd: Add cmds to config pd_mon params
2024-02-22 16:44:45 +08:00
linuswck
6ee45b4814
thermostat: Limit Pid Temp SetPt to TempMon limits
2024-02-21 17:37:56 +08:00
linuswck
a8787430b1
Add Temperature Monitor to Thermostat
...
- Issue an alarm when temperature goes out of user-defined operating range during Pid Controller startup
or reading is outside of +-0.5 Degree from temperature set point after Pid Controller becomes stable
- If alarm is observed, power down laser and tec controller and disengage Pid Controller
- Add the corresponding cmd for configuring the temperature monitor
2024-02-21 17:32:11 +08:00
linuswck
ed785b7c85
ld: correct timer and dac reset in pwr_up seq
2024-02-21 11:11:12 +08:00
linuswck
30ab228b4b
ld: Set default ld_current_limit in setup() fn
2024-02-20 16:22:13 +08:00
linuswck
88cca12a60
ld: Use Timer IRQ to ramp up/down output current
...
- Fixes possible watchdog timeout
- Improves ethernet response time & thermostat Pid update interval consistency
2024-02-20 16:18:06 +08:00
linuswck
8139ebdc1b
ld_ctrl: set_dac() fn now returns the volt set
...
- before this fix, set_dac() just returns the inputted voltage
2024-02-20 12:30:00 +08:00
linuswck
5f83b73011
cmd: Add active report mode cmd
2024-02-19 15:08:00 +08:00
linuswck
0642640da7
dfu: Add eth cmd, fns to put stm32 into dfu mode
2024-02-16 17:23:47 +08:00
linuswck
6dd1bf9301
hw_rev: Generate random mac address on rev0_3
2024-02-16 17:23:39 +08:00
linuswck
d2efc02b6a
eth_cmd_test: Reset ld current to 0A during SIGINT
2024-02-15 12:47:29 +08:00
linuswck
89d415194d
update eth_cmd_test code
2024-02-15 12:14:14 +08:00
linuswck
09b3765877
pid_autotune: Add pid autotune script
...
- Port from thermostat repo
2024-02-15 12:14:14 +08:00
linuswck
7a76325288
cmd: rm rev from cmd json
...
- not in used
2024-02-15 12:14:14 +08:00
linuswck
ffa5f4e8ff
pid: Use Thermostat's PID algo instead of IDSP
...
- Has lower steady state error upon testing with PID autotune
2024-02-15 12:14:14 +08:00
linuswck
e9a396f001
thermostat: Add abs timestamp to StatusReport
2024-02-15 12:14:14 +08:00
linuswck
412f5ec58b
cmd: add cmds to poll tec temp, dis/enable pid
2024-02-15 12:14:14 +08:00
linuswck
e29898f8f8
fix typos
2024-02-15 12:14:14 +08:00
linuswck
60a79d1780
rename get_term_status -> get_lf_mod_in_impedance
2024-02-15 12:14:14 +08:00
linuswck
b0edd3dba2
hw_rev: Wait for 5s b4 gpio init instead of 1.5s
...
- See Issue #32
2024-02-15 12:14:14 +08:00
Sébastien Bourdeauducq
4c331dd319
add BSD build instructions
2024-02-12 18:33:06 +08:00
linuswck
6b05b2d851
Fix Power Up Hw Issue
...
- See Issue #32 on Kirdy Hw Repo
2024-02-07 12:46:13 +08:00
linuswck
f22ab430b8
pid: Use IDSP impl of Pid, Add Eth Pid Ctrl Cmds
2024-02-07 11:56:38 +08:00
linuswck
4cd650367d
thermostat: cleanup pid_engaged fn
2024-02-05 15:14:51 +08:00
linuswck
de262b849d
eth: Add Thermostat related json cmd
2024-02-05 15:14:23 +08:00
linuswck
4132bfacd3
boot: Set thermostat & LD init output current to 0
2024-02-02 17:37:37 +08:00
linuswck
6096711d2c
eth: Poll and Handle Json based Ld ctrl cmd
...
- Upgrade to miniconf 9.0
- Only non report related laser diode ctrl command is implemented
2024-02-02 17:35:58 +08:00
linuswck
3d3d6f5cb5
ld: cleanup
2024-02-02 17:23:39 +08:00
linuswck
172c3e1dfc
cleanup boot.rs, thermostat.rs
2024-02-01 16:23:52 +08:00