linuswck
5166bb7ba8
driver: rm thread use & make it asyncio callable
...
- make all cmds asyncio callable
- control specific cmds can be enqueued to the handler synchronously
2024-09-04 15:39:21 +08:00
linuswck
9c611fc861
main: poll iface for dfu & hard rst ctrl msgs
2024-09-03 12:15:03 +08:00
linuswck
51913f2e2f
net: fix incorrect poll_iface() calls
...
- poll_iface might be called by interrupt while poll_iface was being called in main loop
- Disable interrupt when poll_iface is being processed
- Only use IfacePollTimer to poll_iface
2024-08-27 18:49:43 +08:00
linuswck
c86d67b15c
firmware: do not display smoltcp log
2024-08-27 18:49:43 +08:00
linuswck
3d2294a90c
driver: fix incorrect recv_response behavior
2024-08-27 18:49:13 +08:00
linuswck
3ba8b99084
Use degree celsius as temperature base unit
...
- Breaking: Erase settings before flashing
- except beta in Steinhart-Hart equation
- to keep the temperature value set consistent with the value returned
- f32 floating point calculation is inaccurate
2024-08-07 17:36:12 +08:00
linuswck
af73ac8127
gui: Add text for LD & Thermostat status
2024-08-07 12:48:12 +08:00
linuswck
c214e4182d
temp_mon: fix limits not effective at stable temp
...
- previously, temp is stable, temp limits are not checked
2024-08-07 12:12:07 +08:00
linuswck
fb69ae3306
main: Don't change temp ctrl mode at otp
2024-08-07 11:26:47 +08:00
linuswck
8c8ed12522
gui: Disable param tree compact height
...
- The displayed number was clipped by the pyqtgraph spinbox
2024-08-06 13:01:57 +08:00
linuswck
572e2dbc5d
gui: update for the new driver code
...
- Default to use active report mode
- Connection will be retried upon abnormal disconnection
- Remove poll every _s and apply btn
2024-08-06 13:01:57 +08:00
linuswck
82c46e04d0
Update PID Autotune Code for Driver Code
2024-08-06 13:01:57 +08:00
linuswck
28f8c3c497
Update Example Code for Driver Code
2024-08-06 13:01:57 +08:00
linuswck
47bf166ecb
driver: kirdy driver rewrite
...
- Start a new thread to handle connections and schedule FIFO task execution
- Make all the cmd accessible without using async
- Connections automatically retry upon disconnection
- Add support for PyQt6 Signal
2024-08-06 13:01:54 +08:00
linuswck
1dcac25574
gui: Use a custom regex to handle the suffix with temperature characters
2024-07-31 11:35:04 +08:00
linuswck
3f9a4bf140
ld: Block pwr on request if alarm is asserted
...
- Align the alarm and pwr up behavior with thermostat temp_mon
2024-07-26 14:29:46 +08:00
linuswck
201148fb21
main: allow loading flash without device settings
...
- Fix bugs: ld & thermostat settings cannot be loaded if device settings
are not present. But, device settings can be left not configured.
2024-07-26 11:10:32 +08:00
linuswck
a90031dd6c
ld_pwr_exc_protector: clear irq bit at pwr up
2024-07-26 11:10:32 +08:00
linuswck
7b52072617
ld: cfg hardware when pd_mon params changes
2024-07-26 11:10:32 +08:00
linuswck
c241d34434
gui: fix default units and mv to params' titles
...
- siPrefix(eg. m, u, k) is no longer editable and fixed
- the displayed unit is relocated to ctrl panel params' titles
2024-07-26 11:10:28 +08:00
linuswck
20c3d42dd7
rm ld soft current limit
2024-07-25 15:53:00 +08:00
linuswck
aae89256c3
gui: fix ctrl_panel value getting overwritten bug
2024-07-24 12:19:26 +08:00
linuswck
3344e7ab19
rm debug comments
2024-07-23 10:39:33 +08:00
linuswck
a76b8de994
thermostat: Save the user config-ed value directly
...
- the firmware recorded the actual value set with quantization errors or
other errors
- this caused confusion for the user when they read back the settings
2024-07-22 17:37:25 +08:00
linuswck
3410a271fd
thermostat: rst pid_state at pwr_up
2024-07-22 10:54:01 +08:00
linuswck
8f38acd0f2
thermostat: do not rst tec_i_out to 0 at pwr down
2024-07-22 10:52:32 +08:00
linuswck
b95b9dcefa
gui: Display -273.15 if thermistor is not detected
...
- if tec_temp == None -> Hide temp_plot graph and display -273.15 on ctrl panel
2024-07-19 18:37:52 +08:00
linuswck
5e6a4c0646
gui: Do not turn on report mode for PID Autotune
2024-07-19 18:24:14 +08:00
linuswck
ec5bf1d6b6
gui, ld: term_status -> term_50ohm
...
- term_status (Is50Ohm / Not50Ohm) -> term_50ohm (On/Off)
2024-07-19 18:10:38 +08:00
linuswck
3737c2ed59
gui: increase the connection timeout value
...
- 0.1s is too short. Min settable sampling rate is 1.25Sps
2024-07-19 18:10:38 +08:00
linuswck
4cd328d98c
ld: apply pwr limit setting to analog watchdog
...
- This fixes a bug which power limit is not applied to pd_mon at startup
2024-07-19 18:10:38 +08:00
linuswck
af95de0f16
thermostat: cal gain error at TEC DAC output
2024-07-19 18:10:12 +08:00
linuswck
db2f76771a
Update Kirdy Driver Example Code
2024-07-19 18:10:08 +08:00
linuswck
6f87cba9a6
drive: use aenum for cmd
2024-06-21 16:54:24 +08:00
linuswck
80d94270a2
fix typo
2024-06-18 15:43:36 +08:00
linuswck
456691f79f
gui: import .ui file and rm auto generated py file
2024-06-17 14:49:35 +08:00
linuswck
0f3db7fec5
gui: Fix typos
2024-06-17 14:49:35 +08:00
linuswck
9002ca6992
gui: Fix a bug which GUI may recv two msgs at once
2024-06-17 14:49:31 +08:00
linuswck
92f6b83b16
gui: Fix a bug which dfu cmd can cause connrst err
...
- Kirdy may close and reset itself before host computer ends its session
2024-06-17 13:16:52 +08:00
linuswck
da50f372d9
gui: plot ld_pwr is zero if responsitivity not set
2024-06-17 13:16:52 +08:00
linuswck
57bfd6d83c
gui: Relocate LD Power limit params in ctrl panel
2024-06-17 13:16:52 +08:00
linuswck
dacf9f0fa5
gui: Add pid autotune to ctrl panel
2024-06-17 13:16:52 +08:00
linuswck
bfd8c0e43a
pid_autotune: Update pid autotune main fn
2024-06-17 13:16:52 +08:00
linuswck
dc97f42bd0
boot: Do not pwr up LD & TEC at boot stage
...
- This fix LD current spike at boot up
2024-06-17 13:16:52 +08:00
linuswck
3813b79623
driver: Fix IP Settings not being able to update
2024-06-17 13:16:52 +08:00
linuswck
83a764889c
ld_pwr_exc_protector: set smpr to be slowest
...
- reduce noise on the analog watchdog
2024-06-17 13:16:52 +08:00
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