linuswck
4288d465c9
thermostat: Report temp_setpoint in degree celsius
2024-04-10 16:56:20 +08:00
linuswck
d435dc06d8
fix typos
2024-03-25 15:43:20 +08:00
linuswck
b1a1173075
cmd_handler: Add newline at the end of json sent
2024-03-25 15:43:20 +08:00
linuswck
af68b0e90a
Update rust, stm32-eth, hal, smoltcp versions
2024-03-25 15:43:12 +08:00
linuswck
7d41edef20
ld: Increase the delay before turning on LD_PWR
...
- Delay is tested and verified with oscilloscope
- Tested with 0.3A LD output current
2024-03-21 15:21:24 +08:00
linuswck
607da8a822
ld: Add a delay before turning on LD PWR
...
- DAC output might not drop to 0V before PWR is being turned on
- Thus, it might drive nondeterministic current into the laser diode during pwr up
2024-03-20 17:24:47 +08:00
linuswck
67f9e65df8
Start tec_readings_conversion after report is sent
...
- Before this fix, tec_readings only converts when eth_is_pending
2024-03-20 15:35:12 +08:00
linuswck
7d2e14ef2f
eth: Poll Iface In ETH IRQ
...
- Improve responsiveness of TCP packets handling
- Fix a bug when one client is connected and active report is ON, the other client's cmds do not receive Ack from Kirdy
2024-03-20 15:32:28 +08:00
linuswck
e9d5f4598a
Fix wrong USB Product Description
2024-03-20 11:45:09 +08:00
linuswck
1867935047
Send report to connected socket
...
- Remove active report in flash settings
2024-03-19 17:38:29 +08:00
linuswck
99cf17f7e4
temp_mon: Add support for constant current mode
2024-03-19 14:52:26 +08:00
linuswck
0a01d299bc
Fix wrong reporting of Thermostat Pwr_on status
2024-03-19 14:52:26 +08:00
linuswck
dbbd438e92
ld: Fix unable to save & load ld_i flash settings
2024-03-19 14:48:25 +08:00
linuswck
3ad7c417f6
Fix a ld current ramp up bug
...
- During ld_i ramp up, if pwr up cmd is called, ld_i is set incorrectly
2024-03-18 16:41:55 +08:00
linuswck
0380c8d30b
Unify naming and unit in firmware and driver
...
- mA, uA -> A
- K -> Degree Celsius
- tec -> thermostat
2024-03-18 15:55:05 +08:00
linuswck
1480305c16
max1968: Fix ADC+DMA does not start converting bug
2024-03-15 17:12:42 +08:00
linuswck
74c465d16f
fix typos
2024-03-12 11:47:58 +08:00
linuswck
a9dbff8250
Send Response Back to The Client after Recv Cmd
2024-03-08 16:38:52 +08:00
linuswck
b7231f48ff
Fix Recv Dfu cmd doesn't hard reset bug
2024-03-07 10:26:32 +08:00
linuswck
7f6a385e1d
Support controls from multiple TCP Socket Clients
2024-03-06 16:30:31 +08:00
linuswck
eff8adc184
Update Eth Link Speed with the detected Speed
...
- adds support to Half/FullDuplexBase10T, HalfDuplexBase100Tx Eth Speed
- fix a bug which Kirdy requires link to up to enter main loop
2024-03-06 12:15:08 +08:00
linuswck
a579e5c5d5
Add default gateway into IpSettings
2024-03-06 10:34:57 +08:00
linuswck
65b757ac3c
Add cmd to Store IP Settings in Flash
...
- Cmds Setup Flow: Set IP -> Save Settings to Flash -> Issue HardRst
2024-03-05 16:44:28 +08:00
linuswck
911d9a7bc9
Load & Config IP Settings from Flash at StartUp
2024-03-05 16:44:03 +08:00
linuswck
111d9a4226
cleanup
2024-03-05 16:33:49 +08:00
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
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