1
0
forked from M-Labs/kirdy

Commit Graph

  • 26f12dbf77 add draft for thermostat usage guide add_docs linuswck 2024-10-18 12:58:20 +0800
  • 388e6725ef thermostat: Clear alarm when settings are loaded linuswck 2024-10-17 17:36:17 +0800
  • f4c761c5ca pid: Scale PID Parameters with Sampling Rate - Breaking changes linuswck 2024-10-17 17:36:06 +0800
  • e560d8f1eb thermostat, gui: Set max v range according to datasheet linuswck 2024-10-16 16:21:11 +0800
  • 0437c6e76e thermostat, gui: Relax the max settable TEC Current Limit - Improper settings can cause PoE power failure and over heating - See hardware repo Issue #51 linuswck 2024-10-16 16:14:58 +0800
  • bad21806f8 gui: Add new form for temp adc filter cfg and settable polling rate List of Changes: 1. Get report via polling instead of active report mode 2. Allow user to set a custom report polling rate while settings polling rate is fixed to 10Hz - it is necessary for pid autotune to function correctly 3. Add a form for configuring temperature adc filter 4. Use two different timer for polling report and settings to optimize performance linuswck 2024-10-10 17:18:05 +0800
  • cb2bc505c9 driver: expose _odr_type for filter cfgs linuswck 2024-10-10 15:26:45 +0800
  • 4f19d2c2be driver: Expose the upper and lower limit settings for Sinc3WithFineODR Filter Cfg linuswck 2024-10-10 15:23:57 +0800
  • e8d3858fc9 driver: return whether task queue is full in task_dispatcher() linuswck 2024-10-10 15:20:58 +0800
  • 9bec56ed6c driver: Add support for GetPollInterval cmd linuswck 2024-10-10 15:19:43 +0800
  • 51b82e0447 cmd_handler: Add cmd to get temp adc polling interval linuswck 2024-10-10 13:41:15 +0800
  • 31e108a4b5 thermostat: settings obj now contains the exact filter type and val linuswck 2024-10-10 13:39:37 +0800
  • 253f4410ee sys_timer: Add fn to retrieve ts in us resolution linuswck 2024-10-10 13:31:20 +0800
  • bd72c382b0 thermostat: Fix incorrect Dac Calibration Algo - Thermostat Firmware repo PR #133 linuswck 2024-10-08 15:57:18 +0800
  • a512614de5 net: add option not to open sock when it is polled - fix a bug, which mcu can get stuck in State::HardReset indefinitely linuswck 2024-09-11 12:08:37 +0800
  • 76f7875e3a gui: await for hard rst and dfu action linuswck 2024-09-10 16:06:39 +0800
  • 0d64d62fb0 gui: Add pd_mon config form - force user to follow a sequence of steps for safely configuring pd_mon linuswck 2024-09-10 15:29:11 +0800
  • 0aeffdbf7b ld_pwr_exc_protector: disable irq after pwr off -setting 0V threshold during power off might trigger IRQ linuswck 2024-09-10 15:23:14 +0800
  • 89a1270c02 driver: send cmd err msg to a pyqt sig linuswck 2024-09-10 11:47:51 +0800
  • c2e78e6f17 driver: Support ApplyPdParams cmd - Include handling mechanism for "InvalidSettings"b response msg linuswck 2024-09-10 11:45:45 +0800
  • 86e6d3764e laser: check pd_mon params & pwr limit before set - Design to prevent Issue #47 on hardware kirdy repo from happening - responsitivity, i_dark & transconductance determine the pwr limit range - when "ApplyPdParams" and "SetLdPwrLimit" are called, pwr limit range is checked before applying new parameter - Send out a "InvalidSettings" response with error message if settings cannot be applied - Add settable power range to settings json object linuswck 2024-09-09 17:38:02 +0800
  • 1111967a7b gui: add arg for saving log to a file linuswck 2024-09-04 17:01:27 +0800
  • 1896e2534b main: Add PrepareForDfu state linuswck 2024-09-04 15:56:45 +0800
  • 6d4b1b0574 driver: end_session if ConnClose & Dfu is recv-ed linuswck 2024-09-04 15:28:58 +0800
  • 0b5fda2cd9 net: close oldest sock if available socks run out - By default, smoltcp by default reset any new connections if there is no available socket linuswck 2024-09-04 15:24:03 +0800
  • b763350a8b net: disable IRQ when data is being enqueued - This prevents broken json to be sent out due to IRQ linuswck 2024-09-04 12:17:55 +0800
  • 838592c812 gui: Display hw_rev when connected linuswck 2024-09-03 17:00:50 +0800
  • e632cbbfdd driver: use readuntil to get response msg - The driver may recv partial ctrl msg, which causes a json decode error linuswck 2024-09-03 16:49:46 +0800
  • 27bf573010 driver: retrieve hw_rev after conn is established linuswck 2024-09-03 16:40:59 +0800
  • c267c30b89 driver: add get_hw_rev() fn linuswck 2024-09-03 16:33:40 +0800
  • c5826876a6 firmware: Add cmd to get hw_rev linuswck 2024-09-03 16:30:51 +0800
  • 6782cda790 Update pid autotuner code linuswck 2024-09-03 12:13:15 +0800
  • 2fe2ef531b Update example code linuswck 2024-09-03 10:36:49 +0800
  • f2ad06ecae gui: patch the GUI code linuswck 2024-09-02 17:58:09 +0800
  • 5166bb7ba8 driver: rm thread use & make it asyncio callable - make all cmds asyncio callable - control specific cmds can be enqueued to the handler synchronously linuswck 2024-09-02 17:57:24 +0800
  • 9c611fc861 main: poll iface for dfu & hard rst ctrl msgs linuswck 2024-09-02 15:39:25 +0800
  • 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 linuswck 2024-08-27 18:43:20 +0800
  • c86d67b15c firmware: do not display smoltcp log linuswck 2024-08-27 16:11:55 +0800
  • 3d2294a90c driver: fix incorrect recv_response behavior linuswck 2024-08-26 11:33:48 +0800
  • 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 linuswck 2024-08-07 17:22:30 +0800
  • af73ac8127 gui: Add text for LD & Thermostat status linuswck 2024-08-07 12:48:09 +0800
  • c214e4182d temp_mon: fix limits not effective at stable temp - previously, temp is stable, temp limits are not checked linuswck 2024-08-07 11:17:06 +0800
  • fb69ae3306 main: Don't change temp ctrl mode at otp linuswck 2024-08-06 18:00:15 +0800
  • 8c8ed12522 gui: Disable param tree compact height - The displayed number was clipped by the pyqtgraph spinbox linuswck 2024-08-06 11:57:52 +0800
  • 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 linuswck 2024-08-05 15:23:54 +0800
  • 82c46e04d0 Update PID Autotune Code for Driver Code linuswck 2024-08-06 11:52:23 +0800
  • 28f8c3c497 Update Example Code for Driver Code linuswck 2024-08-02 17:46:25 +0800
  • 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 linuswck 2024-08-02 17:44:51 +0800
  • 1dcac25574 gui: Use a custom regex to handle the suffix with temperature characters linuswck 2024-07-31 11:35:04 +0800
  • 3f9a4bf140 ld: Block pwr on request if alarm is asserted - Align the alarm and pwr up behavior with thermostat temp_mon linuswck 2024-07-26 11:02:05 +0800
  • 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. linuswck 2024-07-25 18:01:57 +0800
  • a90031dd6c ld_pwr_exc_protector: clear irq bit at pwr up linuswck 2024-07-25 17:32:57 +0800
  • 7b52072617 ld: cfg hardware when pd_mon params changes linuswck 2024-07-25 17:09:03 +0800
  • 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 linuswck 2024-07-25 15:56:31 +0800
  • 20c3d42dd7 rm ld soft current limit linuswck 2024-07-25 15:53:00 +0800
  • aae89256c3 gui: fix ctrl_panel value getting overwritten bug linuswck 2024-07-24 12:19:21 +0800
  • 3344e7ab19 rm debug comments linuswck 2024-07-23 10:39:33 +0800
  • 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 linuswck 2024-07-22 17:36:08 +0800
  • 3410a271fd thermostat: rst pid_state at pwr_up linuswck 2024-07-22 10:53:52 +0800
  • 8f38acd0f2 thermostat: do not rst tec_i_out to 0 at pwr down linuswck 2024-07-22 10:52:23 +0800
  • 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 linuswck 2024-07-19 18:37:52 +0800
  • 5e6a4c0646 gui: Do not turn on report mode for PID Autotune linuswck 2024-07-19 18:24:09 +0800
  • ec5bf1d6b6 gui, ld: term_status -> term_50ohm - term_status (Is50Ohm / Not50Ohm) -> term_50ohm (On/Off) linuswck 2024-07-19 15:53:53 +0800
  • 3737c2ed59 gui: increase the connection timeout value - 0.1s is too short. Min settable sampling rate is 1.25Sps linuswck 2024-07-19 14:47:04 +0800
  • 4cd328d98c ld: apply pwr limit setting to analog watchdog - This fixes a bug which power limit is not applied to pd_mon at startup linuswck 2024-07-19 10:59:05 +0800
  • af95de0f16 thermostat: cal gain error at TEC DAC output linuswck 2024-07-10 18:16:03 +0800
  • db2f76771a Update Kirdy Driver Example Code linuswck 2024-06-21 16:52:43 +0800
  • 6f87cba9a6 drive: use aenum for cmd linuswck 2024-06-21 11:01:20 +0800
  • 80d94270a2 fix typo linuswck 2024-06-18 15:43:36 +0800
  • 456691f79f gui: import .ui file and rm auto generated py file linuswck 2024-06-17 13:12:32 +0800
  • 0f3db7fec5 gui: Fix typos linuswck 2024-06-17 12:56:46 +0800
  • 9002ca6992 gui: Fix a bug which GUI may recv two msgs at once linuswck 2024-06-17 12:53:04 +0800
  • 92f6b83b16 gui: Fix a bug which dfu cmd can cause connrst err - Kirdy may close and reset itself before host computer ends its session linuswck 2024-06-17 12:46:42 +0800
  • da50f372d9 gui: plot ld_pwr is zero if responsitivity not set linuswck 2024-06-17 12:38:59 +0800
  • 57bfd6d83c gui: Relocate LD Power limit params in ctrl panel linuswck 2024-06-17 12:36:25 +0800
  • dacf9f0fa5 gui: Add pid autotune to ctrl panel linuswck 2024-06-17 12:35:00 +0800
  • bfd8c0e43a pid_autotune: Update pid autotune main fn linuswck 2024-06-17 12:08:01 +0800
  • dc97f42bd0 boot: Do not pwr up LD & TEC at boot stage - This fix LD current spike at boot up linuswck 2024-06-17 11:06:31 +0800
  • 3813b79623 driver: Fix IP Settings not being able to update linuswck 2024-06-13 16:25:52 +0800
  • 83a764889c ld_pwr_exc_protector: set smpr to be slowest - reduce noise on the analog watchdog linuswck 2024-06-13 15:37:41 +0800
  • c09da0db98 ld_pwr_exc_protector: Apply 32-pt avg to pd_v - Reduce noise amplitude from STM32f4 ADC linuswck 2024-06-13 15:36:17 +0800
  • 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 linuswck 2024-06-13 11:10:40 +0800
  • d1660c6090 ld_pwr_exc_protector: cal volt offset for pd mon - hw change: A voltage offset is added onto the pd mon pin linuswck 2024-06-12 18:16:44 +0800
  • f35546b070 gui: lock param tree value when user inputs a new value - prevent user input from getting overwritten from incoming data linuswck 2024-06-11 15:03:09 +0800
  • 0dceb8c3c6 correct typo linuswck 2024-05-10 12:27:34 +0800
  • 266110ba14 pid: rm setpoint change kick - See Thermostat Firmware PR#107 linuswck 2024-05-10 11:34:46 +0800
  • 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 linuswck 2024-05-02 10:25:13 +0800
  • 70fed23c51 main: Add checks before sock send/recv are called linuswck 2024-04-29 17:57:45 +0800
  • b8241d1f27 cargo fmt - rustfmt.toml is ported from artiq-zynq repo linuswck 2024-04-23 17:09:26 +0800
  • ded7dd7694 gui: add waitingspinnerwidget linuswck 2024-04-23 15:55:14 +0800
  • 7fa4330797 gitignore: ignore python .pyc files linuswck 2024-04-23 15:52:32 +0800
  • 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 linuswck 2024-04-23 15:42:17 +0800
  • c5efc6ca57 MAX1968: Improve STM32 ADC calibration consistency linuswck 2024-04-23 15:35:23 +0800
  • b330f45260 net: Increase ARP Cache Size from 4 to 16 linuswck 2024-04-23 11:43:27 +0800
  • 554f292cab net: Disable nagle algo & Set keep_alive duration linuswck 2024-04-22 16:39:30 +0800
  • f303ab639a net: Reset tcp socks when new eth link is detected linuswck 2024-04-22 16:01:32 +0800
  • ba30575406 GUI: Improve abnormal disconnection handling linuswck 2024-04-22 13:07:18 +0800
  • bfdb1f5066 gui: move tool, save & load flash btns to menu bar - Add a new form to update IP address linuswck 2024-04-19 15:51:58 +0800
  • 5b35f32a42 driver: Handle CancelledError for send_cmd handler linuswck 2024-04-19 15:39:29 +0800
  • 2df22d5dcb driver: Use inet_aton to check IPV4 address format linuswck 2024-04-19 15:36:27 +0800