go faster, add some more prologix cmds, readme

This commit is contained in:
2025-12-02 03:47:31 +06:00
parent 7e6195f967
commit 4c6bbc58fd
3 changed files with 256 additions and 277 deletions

View File

@@ -3,7 +3,7 @@
#include "ch32fun.h"
#define GPIB_DEBUG 1
// #define GPIB_DEBUG 1
// Control Lines (Active LOW)
#define PIN_EOI PB3
@@ -153,39 +153,37 @@
#define GPIB_READ(pin) funDigitalRead(pin)
// Data Lines (DIO1-DIO8)
// #define PIN_DIO1 PB9
// #define PIN_DIO2 PB8
// #define PIN_DIO3 PB5
// #define PIN_DIO4 PB4
// #define PIN_DIO5 PB15
// #define PIN_DIO6 PB14
// #define PIN_DIO7 PB13
// #define PIN_DIO8 PB12
#define PIN_DIO1 PB9
#define PIN_DIO2 PB8
#define PIN_DIO3 PB5
#define PIN_DIO4 PB4
#define PIN_DIO5 PB15
#define PIN_DIO6 PB14
#define PIN_DIO7 PB13
#define PIN_DIO8 PB12
// Physical Pin mappings on PORT B
#define PIN_DIO1 9 // PB9
#define PIN_DIO2 8 // PB8
#define PIN_DIO3 5 // PB5
#define PIN_DIO4 4 // PB4
#define PIN_DIO5 15 // PB15
#define PIN_DIO6 14 // PB14
#define PIN_DIO7 13 // PB13
#define PIN_DIO8 12 // PB12
#define PIN_POS_D1 9 // PB9
#define PIN_POS_D2 8 // PB8
#define PIN_POS_D3 5 // PB5
#define PIN_POS_D4 4 // PB4
#define PIN_POS_D5 15 // PB15
#define PIN_POS_D6 14 // PB14
#define PIN_POS_D7 13 // PB13
#define PIN_POS_D8 12 // PB12
#define SHIFT_DIO1 (PIN_DIO1 - 0) // 9
#define SHIFT_DIO2 (PIN_DIO2 - 1) // 7
#define SHIFT_DIO3 (PIN_DIO3 - 2) // 3
#define SHIFT_DIO4 (PIN_DIO4 - 3) // 1
#define SHIFT_DIO5 (PIN_DIO5 - 4) // 11
#define SHIFT_DIO6 (PIN_DIO6 - 5) // 9
#define SHIFT_DIO7 (PIN_DIO7 - 6) // 7
#define SHIFT_DIO8 (PIN_DIO8 - 7) // 5
#define SHIFT_GRP_9 9 // D1 (PB9->0) & D6 (PB14->5)
#define SHIFT_GRP_7 7 // D2 (PB8->1) & D7 (PB13->6)
#define SHIFT_D3 3 // D3 (PB5->2)
#define SHIFT_D4 1 // D4 (PB4->3)
#define SHIFT_D5 11 // D5 (PB15->4)
#define SHIFT_D8 5 // D8 (PB12->7)
// pins that share the same shift amount
// Group A: shift right 9 (PB9->Bit0, PB14->Bit5)
#define MASK_GROUP_A ((1 << 0) | (1 << 5))
#define MASK_GRP_9 ((1 << 0) | (1 << 5))
// Group B: shift right 7 (PB8->Bit1, PB13->Bit6)
#define MASK_GROUP_B ((1 << 1) | (1 << 6))
#define MASK_GRP_7 ((1 << 1) | (1 << 6))
#define CALC_PIN_BSHR(val, bit_idx, pin_num) \
((val & (1 << bit_idx)) ? (1U << (pin_num + 16)) : (1U << pin_num))
@@ -199,7 +197,4 @@
#define MASK_DIO7 (1U << 13)
#define MASK_DIO8 (1U << 12)
// static const int DIO_PINS[] = {PIN_DIO1, PIN_DIO2, PIN_DIO3, PIN_DIO4,
// PIN_DIO5, PIN_DIO6, PIN_DIO7, PIN_DIO8};
#endif