From 7a93bac03418c101372aa24118b197c825221ef1 Mon Sep 17 00:00:00 2001 From: rhgndf <16336768+rhgndf@users.noreply.github.com> Date: Mon, 2 Oct 2023 01:11:17 +0800 Subject: [PATCH] Initial PES writing support for GAL6001/GAL6002 --- afterburner.ino | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/afterburner.ino b/afterburner.ino index 71e4617..f68cb48 100644 --- a/afterburner.ino +++ b/afterburner.ino @@ -1093,12 +1093,32 @@ static void writePes(void) { setPV(1); - setRow(galinfo[gal].pesrow); - for (rbit = 0; rbit < 64; rbit++) { - b = pes[rbit >> 3]; - p = b & (1 << (rbit & 0b111)); - sendBit(p); + switch(gal) { + GAL6001: + GAL6002: + setRow(0); + sendBits(20, 0); + for (rbit = 0; rbit < 64; rbit++) { + b = pes[rbit >> 3]; + p = b & (1 << (rbit & 0b111)); + sendBit(p); + } + sendBits(11, 0); + sendBit(1); + sendAddress(7, galinfo[gal].pesrow); + sendBits(16, 0); + setSDIN(0); + break; + default: + setRow(galinfo[gal].pesrow); + for (rbit = 0; rbit < 64; rbit++) { + b = pes[rbit >> 3]; + p = b & (1 << (rbit & 0b111)); + sendBit(p); + } + break; } + strobe(progtime); turnOff();