Releases: MarKo7s/swept-source-trigger-interferometer
Releases · MarKo7s/swept-source-trigger-interferometer
Release list
pySSTri 1.1.1
pySSTri 1.1.0
Changelog
All notable changes to pySSTri are documented in this file.
The format is based on Keep a Changelog.
[Unreleased]
Planned
- Firmware deglitching / debounce on the BPD trigger path to reject false edges from interferogram noise.
[1.1.0] - 2026-07-23
Added
SYS:TIMESTAMP:DELTAENC OFF|UINT8|UINT16(aliases0|1|2|8|16in FW) — UART timestamp delta encoding; set may replyOK - WARNING: …; query returns limit warning. PythonSetTimestampsEncoding/GetTimestampsEncoding.LASER:SWE:STATUS?—1while laser sweeping (swlow),0idle; allowed during sweep. PythonGetSweepStatus.LASER:SWE:COUNT?/LASER:SWE:COUNT 0|RESET— cumulative laser sweep counter; PythonGetSweepCount/ResetSweepCount.- Optional
COM=Nonewithdiscover()/connect()— autodetect PSoC trigger via*IDN?. pySSTri.commandscommand table andpySSTri.utilitieshelpers; arg-aware auto-methods (e.g.SetFreqDivision(n)).SIG:TRIG:TIMESTAMP?— pull last sweep timestamps (TSU n ov fc t0 enc+ payload); PythonGetTimestamps().SYS:TRIG:NOT TIMESTAMP/5— unsolicited timestamp frame each sweep; PythonSetModeTimestamp()/waitTimestamps().- Firmware Polarity Low 1.3.1: ISR Timer capture timestamps (µs), up to 4000 samples/sweep, first→last frequency, active-low LEVEL sweep gate.
Changed
- Default git branch is
main(wasrelease);scripts/release.pydefaults tomain. - TSU wire format: always
TSU <n> <ov> <fc> <t0> <enc>(enclast); host decodes from the header only. - End-of-sweep notify restored (
OFF|TIME|COUNT|FREQ|ALL|TIMESTAMP); frequency from first→last timestamp span. - Docs: false-trigger / interferogram-noise note; deglitching called out as future firmware work.
Fixed
- Timestamp path uses Timer capture ISR (DMA capture path abandoned).
[1.0.0] - 2026-07-22
Added
- Pip-installable package layout (
pyproject.toml, git-tag release viascripts/release.py). - Package
pySSTriexportingSSTriggerInterferometer/notifymodefromserialInterface.py. - Optional
notebooksextra (matplotlib, jupyter, ipykernel) fortrigger_example.ipynb. - SCPI-style UART protocol v1.0 (CRLF):
*IDN?,SIG:TRIG:DIV,SIG:TRIG:EVENTS:COUNT?,SIG:TRIG:EVENTS:FREQ?,LASER:SWE:TIME?,SYS:TRIG:NOT. - Firmware identity string with
FW_VERSIONandFW_DATEvia*IDN?. - Error replies
ERROR: 0(unsupported/invalid) andERROR: 1(laser sweeping). - Sets acknowledge with
OK; host uses write+read for all commands.
Changed
- Repo layout: firmware under
psoc5/firmware/(formerlyTrigger/); Eagle assets underpcb/. - Class renamed from
PSOC5_triggertoSSTriggerInterferometer. - Clean break from legacy commands (
freq_int,SetMode_*wire strings, bare-number divider, leading\r). - Default frequency division on reset is
2. - End-of-sweep host sync uses single
SYS:TRIG:NOT OFF|TIME|COUNT|FREQ|ALL(replaces separate wait/mode).
trigger 1.0.0
Changelog
All notable changes to trigger are documented in this file.
The format is based on Keep a Changelog.
[1.0.0] - 2026-07-17
Added
- Pip-installable package layout (
pyproject.toml, git-tag release viascripts/release.py). - Package export of
PSOC5_trigger/feedbackmodefrompsoc5.py(formerlytrigger.py). - Optional
notebooksextra (matplotlib, jupyter, ipykernel) fortrigger_example.ipynb.