This commit is contained in:
lampmerchant 2023-02-09 10:14:48 -07:00
parent d75105bef6
commit a90fc36217
1 changed files with 69 additions and 514 deletions

View File

@ -40,6 +40,7 @@
list P=PIC12F1840, F=INHX32, ST=OFF, MM=OFF, R=DEC, X=ON
#include P12F1840.inc
errorlevel -302 ;Suppress "register not in bank 0" messages
__config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
;_FOSC_INTOSC Internal oscillator, I/O on RA5
;_WDTE_OFF Watchdog timer disabled
@ -73,6 +74,7 @@ DNOP macro
;;; Constants ;;;
;FLAGS:
LR_FRM equ 7 ;Set when received frame registers have changed
CTS_PLS equ 6 ;Set when a CTS frame should trigger a send from queue
@ -81,7 +83,7 @@ CTS_PLS equ 6 ;Set when a CTS frame should trigger a send from queue
cblock 0x70 ;Bank-common registers
FLAGS
FLAGS ;You've got to have flags
LR_BUF ;Receiver buffer
LR_STATE ;Receiver state pointer
UR_LEN ;Current length of UART receiver queue
@ -207,7 +209,7 @@ Init
movlw B'11110000'
movwf OSCCON
banksel IOCAN ;RA4 sets IOCAN[IOCAF3] on pos/neg edge
banksel IOCAN ;RA3 sets IOCAN[IOCAF3] on pos/neg edge
movlw B'00001000'
movwf IOCAN
movwf IOCAP
@ -1372,522 +1374,75 @@ SendDoUartCts
org 0x700
CrcLut1
retlw 0x00
retlw 0x89
retlw 0x12
retlw 0x9B
retlw 0x24
retlw 0xAD
retlw 0x36
retlw 0xBF
retlw 0x48
retlw 0xC1
retlw 0x5A
retlw 0xD3
retlw 0x6C
retlw 0xE5
retlw 0x7E
retlw 0xF7
retlw 0x81
retlw 0x08
retlw 0x93
retlw 0x1A
retlw 0xA5
retlw 0x2C
retlw 0xB7
retlw 0x3E
retlw 0xC9
retlw 0x40
retlw 0xDB
retlw 0x52
retlw 0xED
retlw 0x64
retlw 0xFF
retlw 0x76
retlw 0x02
retlw 0x8B
retlw 0x10
retlw 0x99
retlw 0x26
retlw 0xAF
retlw 0x34
retlw 0xBD
retlw 0x4A
retlw 0xC3
retlw 0x58
retlw 0xD1
retlw 0x6E
retlw 0xE7
retlw 0x7C
retlw 0xF5
retlw 0x83
retlw 0x0A
retlw 0x91
retlw 0x18
retlw 0xA7
retlw 0x2E
retlw 0xB5
retlw 0x3C
retlw 0xCB
retlw 0x42
retlw 0xD9
retlw 0x50
retlw 0xEF
retlw 0x66
retlw 0xFD
retlw 0x74
retlw 0x04
retlw 0x8D
retlw 0x16
retlw 0x9F
retlw 0x20
retlw 0xA9
retlw 0x32
retlw 0xBB
retlw 0x4C
retlw 0xC5
retlw 0x5E
retlw 0xD7
retlw 0x68
retlw 0xE1
retlw 0x7A
retlw 0xF3
retlw 0x85
retlw 0x0C
retlw 0x97
retlw 0x1E
retlw 0xA1
retlw 0x28
retlw 0xB3
retlw 0x3A
retlw 0xCD
retlw 0x44
retlw 0xDF
retlw 0x56
retlw 0xE9
retlw 0x60
retlw 0xFB
retlw 0x72
retlw 0x06
retlw 0x8F
retlw 0x14
retlw 0x9D
retlw 0x22
retlw 0xAB
retlw 0x30
retlw 0xB9
retlw 0x4E
retlw 0xC7
retlw 0x5C
retlw 0xD5
retlw 0x6A
retlw 0xE3
retlw 0x78
retlw 0xF1
retlw 0x87
retlw 0x0E
retlw 0x95
retlw 0x1C
retlw 0xA3
retlw 0x2A
retlw 0xB1
retlw 0x38
retlw 0xCF
retlw 0x46
retlw 0xDD
retlw 0x54
retlw 0xEB
retlw 0x62
retlw 0xF9
retlw 0x70
retlw 0x08
retlw 0x81
retlw 0x1A
retlw 0x93
retlw 0x2C
retlw 0xA5
retlw 0x3E
retlw 0xB7
retlw 0x40
retlw 0xC9
retlw 0x52
retlw 0xDB
retlw 0x64
retlw 0xED
retlw 0x76
retlw 0xFF
retlw 0x89
retlw 0x00
retlw 0x9B
retlw 0x12
retlw 0xAD
retlw 0x24
retlw 0xBF
retlw 0x36
retlw 0xC1
retlw 0x48
retlw 0xD3
retlw 0x5A
retlw 0xE5
retlw 0x6C
retlw 0xF7
retlw 0x7E
retlw 0x0A
retlw 0x83
retlw 0x18
retlw 0x91
retlw 0x2E
retlw 0xA7
retlw 0x3C
retlw 0xB5
retlw 0x42
retlw 0xCB
retlw 0x50
retlw 0xD9
retlw 0x66
retlw 0xEF
retlw 0x74
retlw 0xFD
retlw 0x8B
retlw 0x02
retlw 0x99
retlw 0x10
retlw 0xAF
retlw 0x26
retlw 0xBD
retlw 0x34
retlw 0xC3
retlw 0x4A
retlw 0xD1
retlw 0x58
retlw 0xE7
retlw 0x6E
retlw 0xF5
retlw 0x7C
retlw 0x0C
retlw 0x85
retlw 0x1E
retlw 0x97
retlw 0x28
retlw 0xA1
retlw 0x3A
retlw 0xB3
retlw 0x44
retlw 0xCD
retlw 0x56
retlw 0xDF
retlw 0x60
retlw 0xE9
retlw 0x72
retlw 0xFB
retlw 0x8D
retlw 0x04
retlw 0x9F
retlw 0x16
retlw 0xA9
retlw 0x20
retlw 0xBB
retlw 0x32
retlw 0xC5
retlw 0x4C
retlw 0xD7
retlw 0x5E
retlw 0xE1
retlw 0x68
retlw 0xF3
retlw 0x7A
retlw 0x0E
retlw 0x87
retlw 0x1C
retlw 0x95
retlw 0x2A
retlw 0xA3
retlw 0x38
retlw 0xB1
retlw 0x46
retlw 0xCF
retlw 0x54
retlw 0xDD
retlw 0x62
retlw 0xEB
retlw 0x70
retlw 0xF9
retlw 0x8F
retlw 0x06
retlw 0x9D
retlw 0x14
retlw 0xAB
retlw 0x22
retlw 0xB9
retlw 0x30
retlw 0xC7
retlw 0x4E
retlw 0xD5
retlw 0x5C
retlw 0xE3
retlw 0x6A
retlw 0xF1
retlw 0x78
dt 0x00,0x89,0x12,0x9B,0x24,0xAD,0x36,0xBF
dt 0x48,0xC1,0x5A,0xD3,0x6C,0xE5,0x7E,0xF7
dt 0x81,0x08,0x93,0x1A,0xA5,0x2C,0xB7,0x3E
dt 0xC9,0x40,0xDB,0x52,0xED,0x64,0xFF,0x76
dt 0x02,0x8B,0x10,0x99,0x26,0xAF,0x34,0xBD
dt 0x4A,0xC3,0x58,0xD1,0x6E,0xE7,0x7C,0xF5
dt 0x83,0x0A,0x91,0x18,0xA7,0x2E,0xB5,0x3C
dt 0xCB,0x42,0xD9,0x50,0xEF,0x66,0xFD,0x74
dt 0x04,0x8D,0x16,0x9F,0x20,0xA9,0x32,0xBB
dt 0x4C,0xC5,0x5E,0xD7,0x68,0xE1,0x7A,0xF3
dt 0x85,0x0C,0x97,0x1E,0xA1,0x28,0xB3,0x3A
dt 0xCD,0x44,0xDF,0x56,0xE9,0x60,0xFB,0x72
dt 0x06,0x8F,0x14,0x9D,0x22,0xAB,0x30,0xB9
dt 0x4E,0xC7,0x5C,0xD5,0x6A,0xE3,0x78,0xF1
dt 0x87,0x0E,0x95,0x1C,0xA3,0x2A,0xB1,0x38
dt 0xCF,0x46,0xDD,0x54,0xEB,0x62,0xF9,0x70
dt 0x08,0x81,0x1A,0x93,0x2C,0xA5,0x3E,0xB7
dt 0x40,0xC9,0x52,0xDB,0x64,0xED,0x76,0xFF
dt 0x89,0x00,0x9B,0x12,0xAD,0x24,0xBF,0x36
dt 0xC1,0x48,0xD3,0x5A,0xE5,0x6C,0xF7,0x7E
dt 0x0A,0x83,0x18,0x91,0x2E,0xA7,0x3C,0xB5
dt 0x42,0xCB,0x50,0xD9,0x66,0xEF,0x74,0xFD
dt 0x8B,0x02,0x99,0x10,0xAF,0x26,0xBD,0x34
dt 0xC3,0x4A,0xD1,0x58,0xE7,0x6E,0xF5,0x7C
dt 0x0C,0x85,0x1E,0x97,0x28,0xA1,0x3A,0xB3
dt 0x44,0xCD,0x56,0xDF,0x60,0xE9,0x72,0xFB
dt 0x8D,0x04,0x9F,0x16,0xA9,0x20,0xBB,0x32
dt 0xC5,0x4C,0xD7,0x5E,0xE1,0x68,0xF3,0x7A
dt 0x0E,0x87,0x1C,0x95,0x2A,0xA3,0x38,0xB1
dt 0x46,0xCF,0x54,0xDD,0x62,0xEB,0x70,0xF9
dt 0x8F,0x06,0x9D,0x14,0xAB,0x22,0xB9,0x30
dt 0xC7,0x4E,0xD5,0x5C,0xE3,0x6A,0xF1,0x78
org 0x800
CrcLut2
retlw 0x00
retlw 0x11
retlw 0x23
retlw 0x32
retlw 0x46
retlw 0x57
retlw 0x65
retlw 0x74
retlw 0x8C
retlw 0x9D
retlw 0xAF
retlw 0xBE
retlw 0xCA
retlw 0xDB
retlw 0xE9
retlw 0xF8
retlw 0x10
retlw 0x01
retlw 0x33
retlw 0x22
retlw 0x56
retlw 0x47
retlw 0x75
retlw 0x64
retlw 0x9C
retlw 0x8D
retlw 0xBF
retlw 0xAE
retlw 0xDA
retlw 0xCB
retlw 0xF9
retlw 0xE8
retlw 0x21
retlw 0x30
retlw 0x02
retlw 0x13
retlw 0x67
retlw 0x76
retlw 0x44
retlw 0x55
retlw 0xAD
retlw 0xBC
retlw 0x8E
retlw 0x9F
retlw 0xEB
retlw 0xFA
retlw 0xC8
retlw 0xD9
retlw 0x31
retlw 0x20
retlw 0x12
retlw 0x03
retlw 0x77
retlw 0x66
retlw 0x54
retlw 0x45
retlw 0xBD
retlw 0xAC
retlw 0x9E
retlw 0x8F
retlw 0xFB
retlw 0xEA
retlw 0xD8
retlw 0xC9
retlw 0x42
retlw 0x53
retlw 0x61
retlw 0x70
retlw 0x04
retlw 0x15
retlw 0x27
retlw 0x36
retlw 0xCE
retlw 0xDF
retlw 0xED
retlw 0xFC
retlw 0x88
retlw 0x99
retlw 0xAB
retlw 0xBA
retlw 0x52
retlw 0x43
retlw 0x71
retlw 0x60
retlw 0x14
retlw 0x05
retlw 0x37
retlw 0x26
retlw 0xDE
retlw 0xCF
retlw 0xFD
retlw 0xEC
retlw 0x98
retlw 0x89
retlw 0xBB
retlw 0xAA
retlw 0x63
retlw 0x72
retlw 0x40
retlw 0x51
retlw 0x25
retlw 0x34
retlw 0x06
retlw 0x17
retlw 0xEF
retlw 0xFE
retlw 0xCC
retlw 0xDD
retlw 0xA9
retlw 0xB8
retlw 0x8A
retlw 0x9B
retlw 0x73
retlw 0x62
retlw 0x50
retlw 0x41
retlw 0x35
retlw 0x24
retlw 0x16
retlw 0x07
retlw 0xFF
retlw 0xEE
retlw 0xDC
retlw 0xCD
retlw 0xB9
retlw 0xA8
retlw 0x9A
retlw 0x8B
retlw 0x84
retlw 0x95
retlw 0xA7
retlw 0xB6
retlw 0xC2
retlw 0xD3
retlw 0xE1
retlw 0xF0
retlw 0x08
retlw 0x19
retlw 0x2B
retlw 0x3A
retlw 0x4E
retlw 0x5F
retlw 0x6D
retlw 0x7C
retlw 0x94
retlw 0x85
retlw 0xB7
retlw 0xA6
retlw 0xD2
retlw 0xC3
retlw 0xF1
retlw 0xE0
retlw 0x18
retlw 0x09
retlw 0x3B
retlw 0x2A
retlw 0x5E
retlw 0x4F
retlw 0x7D
retlw 0x6C
retlw 0xA5
retlw 0xB4
retlw 0x86
retlw 0x97
retlw 0xE3
retlw 0xF2
retlw 0xC0
retlw 0xD1
retlw 0x29
retlw 0x38
retlw 0x0A
retlw 0x1B
retlw 0x6F
retlw 0x7E
retlw 0x4C
retlw 0x5D
retlw 0xB5
retlw 0xA4
retlw 0x96
retlw 0x87
retlw 0xF3
retlw 0xE2
retlw 0xD0
retlw 0xC1
retlw 0x39
retlw 0x28
retlw 0x1A
retlw 0x0B
retlw 0x7F
retlw 0x6E
retlw 0x5C
retlw 0x4D
retlw 0xC6
retlw 0xD7
retlw 0xE5
retlw 0xF4
retlw 0x80
retlw 0x91
retlw 0xA3
retlw 0xB2
retlw 0x4A
retlw 0x5B
retlw 0x69
retlw 0x78
retlw 0x0C
retlw 0x1D
retlw 0x2F
retlw 0x3E
retlw 0xD6
retlw 0xC7
retlw 0xF5
retlw 0xE4
retlw 0x90
retlw 0x81
retlw 0xB3
retlw 0xA2
retlw 0x5A
retlw 0x4B
retlw 0x79
retlw 0x68
retlw 0x1C
retlw 0x0D
retlw 0x3F
retlw 0x2E
retlw 0xE7
retlw 0xF6
retlw 0xC4
retlw 0xD5
retlw 0xA1
retlw 0xB0
retlw 0x82
retlw 0x93
retlw 0x6B
retlw 0x7A
retlw 0x48
retlw 0x59
retlw 0x2D
retlw 0x3C
retlw 0x0E
retlw 0x1F
retlw 0xF7
retlw 0xE6
retlw 0xD4
retlw 0xC5
retlw 0xB1
retlw 0xA0
retlw 0x92
retlw 0x83
retlw 0x7B
retlw 0x6A
retlw 0x58
retlw 0x49
retlw 0x3D
retlw 0x2C
retlw 0x1E
retlw 0x0F
dt 0x00,0x11,0x23,0x32,0x46,0x57,0x65,0x74
dt 0x8C,0x9D,0xAF,0xBE,0xCA,0xDB,0xE9,0xF8
dt 0x10,0x01,0x33,0x22,0x56,0x47,0x75,0x64
dt 0x9C,0x8D,0xBF,0xAE,0xDA,0xCB,0xF9,0xE8
dt 0x21,0x30,0x02,0x13,0x67,0x76,0x44,0x55
dt 0xAD,0xBC,0x8E,0x9F,0xEB,0xFA,0xC8,0xD9
dt 0x31,0x20,0x12,0x03,0x77,0x66,0x54,0x45
dt 0xBD,0xAC,0x9E,0x8F,0xFB,0xEA,0xD8,0xC9
dt 0x42,0x53,0x61,0x70,0x04,0x15,0x27,0x36
dt 0xCE,0xDF,0xED,0xFC,0x88,0x99,0xAB,0xBA
dt 0x52,0x43,0x71,0x60,0x14,0x05,0x37,0x26
dt 0xDE,0xCF,0xFD,0xEC,0x98,0x89,0xBB,0xAA
dt 0x63,0x72,0x40,0x51,0x25,0x34,0x06,0x17
dt 0xEF,0xFE,0xCC,0xDD,0xA9,0xB8,0x8A,0x9B
dt 0x73,0x62,0x50,0x41,0x35,0x24,0x16,0x07
dt 0xFF,0xEE,0xDC,0xCD,0xB9,0xA8,0x9A,0x8B
dt 0x84,0x95,0xA7,0xB6,0xC2,0xD3,0xE1,0xF0
dt 0x08,0x19,0x2B,0x3A,0x4E,0x5F,0x6D,0x7C
dt 0x94,0x85,0xB7,0xA6,0xD2,0xC3,0xF1,0xE0
dt 0x18,0x09,0x3B,0x2A,0x5E,0x4F,0x7D,0x6C
dt 0xA5,0xB4,0x86,0x97,0xE3,0xF2,0xC0,0xD1
dt 0x29,0x38,0x0A,0x1B,0x6F,0x7E,0x4C,0x5D
dt 0xB5,0xA4,0x96,0x87,0xF3,0xE2,0xD0,0xC1
dt 0x39,0x28,0x1A,0x0B,0x7F,0x6E,0x5C,0x4D
dt 0xC6,0xD7,0xE5,0xF4,0x80,0x91,0xA3,0xB2
dt 0x4A,0x5B,0x69,0x78,0x0C,0x1D,0x2F,0x3E
dt 0xD6,0xC7,0xF5,0xE4,0x90,0x81,0xB3,0xA2
dt 0x5A,0x4B,0x79,0x68,0x1C,0x0D,0x3F,0x2E
dt 0xE7,0xF6,0xC4,0xD5,0xA1,0xB0,0x82,0x93
dt 0x6B,0x7A,0x48,0x59,0x2D,0x3C,0x0E,0x1F
dt 0xF7,0xE6,0xD4,0xC5,0xB1,0xA0,0x92,0x83
dt 0x7B,0x6A,0x58,0x49,0x3D,0x2C,0x1E,0x0F
;;; LocalTalk Receiver Code ;;;