linuswck
c09da0db98
ld_pwr_exc_protector: Apply 32-pt avg to pd_v
...
- Reduce noise amplitude from STM32f4 ADC
2024-06-17 13:16:52 +08:00
linuswck
d5a620c76b
pd_mon: make transconductance user-configurable
...
- hw change: different boards now have different gain settings in order
to set a pd current range close to the ld being used
- transconductance and fin_gain params are added to flash with "Device"
as key
2024-06-17 13:16:48 +08:00
linuswck
d1660c6090
ld_pwr_exc_protector: cal volt offset for pd mon
...
- hw change: A voltage offset is added onto the pd mon pin
2024-06-13 15:43:44 +08:00
linuswck
f35546b070
gui: lock param tree value when user inputs a new value
...
- prevent user input from getting overwritten from incoming data
2024-06-11 15:03:09 +08:00
linuswck
0dceb8c3c6
correct typo
2024-05-10 12:27:34 +08:00
linuswck
266110ba14
pid: rm setpoint change kick
...
- See Thermostat Firmware PR#107
2024-05-10 11:34:58 +08:00
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
ded7dd7694
gui: add waitingspinnerwidget
2024-04-23 15:55:14 +08:00
linuswck
7fa4330797
gitignore: ignore python .pyc files
2024-04-23 15:52:32 +08:00
linuswck
7be35fe7f0
thermostat: Reduce DAC calibration time
...
- 13 out of 18 bit of DAC is used to calibrate the output with 12bit ADC
- Calibration with more than 13 bit does not improve the accuracy
2024-04-23 15:45:37 +08:00
linuswck
c5efc6ca57
MAX1968: Improve STM32 ADC calibration consistency
2024-04-23 15:35:23 +08:00
linuswck
b330f45260
net: Increase ARP Cache Size from 4 to 16
2024-04-23 11:43:27 +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
ba30575406
GUI: Improve abnormal disconnection handling
2024-04-22 17:05:56 +08:00
linuswck
bfdb1f5066
gui: move tool, save & load flash btns to menu bar
...
- Add a new form to update IP address
2024-04-19 15:56:48 +08:00
linuswck
5b35f32a42
driver: Handle CancelledError for send_cmd handler
2024-04-19 15:56:48 +08:00
linuswck
2df22d5dcb
driver: Use inet_aton to check IPV4 address format
2024-04-19 15:56:48 +08:00
linuswck
b73eacd234
driver: Wait for a sec after hard rst cmd is sent
2024-04-19 15:56:43 +08:00
linuswck
4a06a7579f
gui: handle hard reset in _on_connection_changed()
...
- Ensure correct gui disconnection seq during Kirdy hard reset
2024-04-19 15:56:36 +08:00
linuswck
9524601cb6
gui: Improve DataWatcher operation
...
- Ensure there is only one instance of signal_emitter() task
- calling stop_watching should stop report_task
2024-04-19 13:25:00 +08:00
linuswck
4116962175
firmware: rst active_rpt if eth link is not active
2024-04-18 17:33:09 +08:00
linuswck
0e087c6992
ld: ld_soft_i_limit now limits ld_i_out being set
2024-04-18 17:04:52 +08:00
linuswck
6b250aa1fd
gui: Add global QT Style Sheet
...
- Gray out the objects if they are disabled
2024-04-18 16:45:35 +08:00
linuswck
de80aedafc
gui: separate connection_menu into Qdiag obj
2024-04-11 16:58:48 +08:00
linuswck
31a97bdeb4
gui: GUI Initial Commit
...
- Adapted from Thermostat GUI PR #101
2024-04-11 16:33:35 +08:00
linuswck
784b8a357b
driver: Update send_cmd fn to use msg_type params
2024-04-10 16:57:43 +08:00
linuswck
ceb003e07e
cmd_handler: Add msg_type params to report & settings
2024-04-10 16:57:43 +08:00
linuswck
10873f4791
firmware: Load default pwr_on settings from flash
2024-04-10 16:57:43 +08:00
linuswck
e160316bfc
ld: add ld_terms_short in settings report
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
ae74455f94
driver: Separate setting pd_config into two fns
2024-04-10 16:56:20 +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
489333c43d
ld: save pwr_limit into settings
2024-04-10 16:56:20 +08:00
linuswck
4288d465c9
thermostat: Report temp_setpoint in degree celsius
2024-04-10 16:56:20 +08:00
linuswck
09863353cd
driver: Add lock for tcp writer & reader stream
2024-04-10 16:56:20 +08:00
linuswck
6d107d55cf
driver: Add StoppedConnecting exception
2024-04-10 16:56:20 +08:00
linuswck
d435dc06d8
fix typos
2024-03-25 15:43:20 +08:00
linuswck
898358f4e6
pykirdy: Add reporting interval in report_mode
2024-03-25 15:43:20 +08:00
linuswck
a13c6fa86c
pykirdy: Update handling of json objects received
...
- Accept new line delimited json in read_response()
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
f8abfd4300
Update nixpkgs version
2024-03-22 12:48:53 +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
7f06fc06fd
async driver: fix incorrect timeout handling
2024-03-20 15:35:12 +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