Compare commits

..

3 Commits

Author SHA1 Message Date
6c549b164c maybe fix program not exiting
All checks were successful
Build kernel module / build (1:6.12.93-1+rpt1, bookworm) (pull_request) Successful in 1m1s
Build kernel module / build (1:6.18.34-1+rpt1, trixie) (pull_request) Successful in 1m13s
Build kernel module / package (pull_request) Successful in 20s
Build kernel module / release (pull_request) Has been skipped
2026-06-20 18:48:25 +02:00
8bb6058a04 update workflow to package the scripts with execute permission hopefully 2026-06-20 18:46:58 +02:00
dba7b5c43c data was bricked reverting debounce to 5 2026-06-20 18:46:17 +02:00
3 changed files with 10 additions and 1 deletions

View File

@ -142,6 +142,7 @@ jobs:
cp -r dist/modules "$root"/ # modules/iec_listener_<kernel_version>.ko
cp kernel/selftest.sh "$root"/ # one-shot hardware self-test
cp launch.sh "$root"/ # load module -> run frontend -> unload
chmod +x "$root/launch.sh" "$root/selftest.sh"
# iecpoc Python frontend + its packaging metadata. launch.sh pip-installs
# this on the Pi; the build reads pyproject.toml's readme = "README.md",
# so README.md must travel with it. __pycache__ is stripped to stay clean.

View File

@ -286,6 +286,10 @@ static void run_state_machine(void)
bool eoi;
enum iec_rx rc;
if (kthread_should_stop()) {
iec_data_release();
return;
}
if (db_reset_asserted())
goto reset;
@ -313,6 +317,10 @@ static void run_state_machine(void)
/* LISTENER: data phase */
emit_record(IEC_KIND_EVENT, IEC_EV_ATN_RELEASED, IEC_FLAG_ADDRESSED);
for (;;) {
if (kthread_should_stop()) {
iec_data_release();
return;
}
if (db_reset_asserted())
goto reset;
if (db_atn_asserted()) {

View File

@ -30,7 +30,7 @@
* confirmed-working reference listener (5 us). sd2iec / the 1571 ROM
* use a comparable few-microsecond debounce. Far shorter than a real IEC bit
* (tens of us), so it never smears valid data. */
#define IEC_DEBOUNCE_US 10
#define IEC_DEBOUNCE_US 5
/* Between-bytes minimum hold before the talker releases CLK for the next byte
* (Tbb). We simply wait for the next CLK transition; this is documentary. */