Commit Graph

45 Commits

Author SHA1 Message Date
linuswck e8aaf5f66b net: Implement iface polling timer
- iface needs to be polled with ref to iface.poll_at time to ensure quality of service
- iface.poll() also services TCP related Timers
2024-05-02 13:13:47 +08:00
linuswck 70fed23c51 main: Add checks before sock send/recv are called 2024-05-02 13:05:10 +08:00
linuswck b8241d1f27 cargo fmt
- rustfmt.toml is ported from artiq-zynq repo
2024-04-23 17:09:26 +08:00
linuswck 554f292cab net: Disable nagle algo & Set keep_alive duration 2024-04-22 17:06:07 +08:00
linuswck f303ab639a net: Reset tcp socks when new eth link is detected 2024-04-22 17:06:02 +08:00
linuswck 4116962175 firmware: rst active_rpt if eth link is not active 2024-04-18 17:33:09 +08:00
linuswck ceb003e07e cmd_handler: Add msg_type params to report & settings 2024-04-10 16:57:43 +08:00
linuswck 0a992c1dc8 ld: pd_responsitivity -> pd_mon_params 2024-04-10 16:57:43 +08:00
linuswck 6bccbceb81 main: Add a state to only save network settings 2024-04-10 16:56:20 +08:00
linuswck eaebdb390d cmd_handler: change mW to W in SetLdPwrLimit cmd 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 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 1867935047 Send report to connected socket
- Remove active report in flash settings
2024-03-19 17:38:29 +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 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 adfa4f5fa3 Move TempAdcFilter struct def to Thermostat 2024-03-05 10:35:05 +08:00
linuswck 3aca712e1d Fix typos 2024-03-04 10:32:33 +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 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 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 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 7a76325288 cmd: rm rev from cmd json
- not in used
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 f22ab430b8 pid: Use IDSP impl of Pid, Add Eth Pid Ctrl Cmds 2024-02-07 11:56:38 +08:00
linuswck de262b849d eth: Add Thermostat related json cmd 2024-02-05 15:14:23 +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 ee0ed8ebe7 eth: add drivers for init, polling & sending data 2024-02-01 16:20:36 +08:00