#######################################
# Syntax colouring for NiusBus
#
# KEYWORD1  datatypes and classes      (orange)
# KEYWORD2  methods and functions      (brown)
# LITERAL1  constants                  (blue)
#
# Columns are separated by a TAB, not spaces.
#######################################

#######################################
# KEYWORD1  datatypes and classes
#######################################

niusbus	KEYWORD1
Status	KEYWORD1
ConstBuffer	KEYWORD1
MutableBuffer	KEYWORD1

Clock	KEYWORD1
Deadline	KEYWORD1
DigitalOut	KEYWORD1
DigitalIn	KEYWORD1
SpiBus	KEYWORD1
SpiSelection	KEYWORD1
ByteStream	KEYWORD1
SerialPort	KEYWORD1
HalfDuplexTransport	KEYWORD1
FullDuplexTransport	KEYWORD1

CanFrame	KEYWORD1
CanFdFrame	KEYWORD1
CanMode	KEYWORD1
CanClockOut	KEYWORD1
CanBusError	KEYWORD1
CanErrorCounters	KEYWORD1
CanDiagnostics	KEYWORD1
CanDriver	KEYWORD1
CanTransceiver	KEYWORD1
CanTransceiverControl	KEYWORD1
CanFdBitRate	KEYWORD1

Mcp2515	KEYWORD1
Mcp2515Driver	KEYWORD1
Mcp2515Bus	KEYWORD1
Mcp2515Config	KEYWORD1
Mcp2515Timing	KEYWORD1

Mcp2518fd	KEYWORD1
Mcp2518fdDriver	KEYWORD1
Mcp2518fdBus	KEYWORD1
Mcp2518fdConfig	KEYWORD1
Mcp2518fdTiming	KEYWORD1

Rs485	KEYWORD1
Rs485Driver	KEYWORD1
SerialTransport	KEYWORD1
SerialLink	KEYWORD1
Rs485Wiring	KEYWORD1
Rs485Direction	KEYWORD1

ModbusFunction	KEYWORD1
ModbusException	KEYWORD1
ModbusError	KEYWORD1
ModbusWordOrder	KEYWORD1
ModbusPdu	KEYWORD1
ModbusRtuMaster	KEYWORD1
ModbusRtuOptions	KEYWORD1
ModbusTcpClient	KEYWORD1
ModbusTcpOptions	KEYWORD1
ModbusStatistics	KEYWORD1

Ipv4	KEYWORD1
MacAddress	KEYWORD1
NetworkConfig	KEYWORD1
DhcpLease	KEYWORD1
EthLinkStatus	KEYWORD1
EthError	KEYWORD1
EthDiagnostics	KEYWORD1

W5500	KEYWORD1
W5500Driver	KEYWORD1
W5500Bus	KEYWORD1
W5500Socket	KEYWORD1
W5500SocketState	KEYWORD1

Enc28j60	KEYWORD1
Enc28j60Driver	KEYWORD1
Enc28j60Bus	KEYWORD1
Enc28j60Filter	KEYWORD1

TextCommandSession	KEYWORD1
WizS2E	KEYWORD1
WizS2EBridge	KEYWORD1
WizNetworkMode	KEYWORD1
WizIpMode	KEYWORD1
UsrTcp232	KEYWORD1
UsrTcp232Bridge	KEYWORD1
UsrParity	KEYWORD1
UsrFlowControl	KEYWORD1
UsrSocketMode	KEYWORD1

RegisterProbe	KEYWORD1
ProbeVisitor	KEYWORD1
ProbeStage	KEYWORD1
SelfTestResult	KEYWORD1
CanBufferPinMode	KEYWORD1
CanRequestPinMode	KEYWORD1
CanTransmitPriority	KEYWORD1
CatalogEntry	KEYWORD1
BusFamily	KEYWORD1
Logic	KEYWORD1
McuBit	KEYWORD1

#######################################
# KEYWORD2  methods and functions
#######################################

begin	KEYWORD2
beginCanFd	KEYWORD2
beginDhcp	KEYWORD2
beginRaw	KEYWORD2
toString	KEYWORD2
chain	KEYWORD2
bufferOf	KEYWORD2
elapsed	KEYWORD2
fillBytes	KEYWORD2
copyBytes	KEYWORD2
equalBytes	KEYWORD2

canFrame	KEYWORD2
canFrameExt	KEYWORD2
canRemoteFrame	KEYWORD2
canFdFrame	KEYWORD2
canFdClassicFrame	KEYWORD2
canFdFromClassic	KEYWORD2
canFdDlcToLength	KEYWORD2
canFdLengthToDlc	KEYWORD2
canFdPaddedLength	KEYWORD2
toClassic	KEYWORD2

send	KEYWORD2
sendAndWait	KEYWORD2
receive	KEYWORD2
available	KEYWORD2
setMode	KEYWORD2
mode	KEYWORD2
setFilter	KEYWORD2
acceptOnly	KEYWORD2
acceptAll	KEYWORD2
disableFilter	KEYWORD2
writeMaskRegister	KEYWORD2
writeFilterRegister	KEYWORD2
errorCounters	KEYWORD2
transport	KEYWORD2
diagnostics	KEYWORD2
clearDiagnostics	KEYWORD2
clearOverflowFlags	KEYWORD2
abortPendingTransmissions	KEYWORD2
interruptAsserted	KEYWORD2
enableInterrupts	KEYWORD2
interruptFlags	KEYWORD2
clearInterrupts	KEYWORD2
setOneShot	KEYWORD2
setClockOut	KEYWORD2
sleep	KEYWORD2
wake	KEYWORD2
timing	KEYWORD2
deviceId	KEYWORD2
requestMode	KEYWORD2
requestRawMode	KEYWORD2
currentRawMode	KEYWORD2
driver	KEYWORD2
transceiver	KEYWORD2
normal	KEYWORD2
standby	KEYWORD2
controllable	KEYWORD2
healthy	KEYWORD2
sendLossPermille	KEYWORD2
lossPermille	KEYWORD2

solveMcp2515Timing	KEYWORD2
solveMcp2518fdTiming	KEYWORD2
mcp2518fdSystemClockHz	KEYWORD2
mcp2518fdNeedsPll	KEYWORD2
classicCanConfig	KEYWORD2
canFdConfig	KEYWORD2

sn65hvd230	KEYWORD2
tja1050	KEYWORD2
ata6560	KEYWORD2
mcp2551	KEYWORD2

transmit	KEYWORD2
receiveExactly	KEYWORD2
drain	KEYWORD2
waitForIdleLine	KEYWORD2
transmitting	KEYWORD2
charTimeUs	KEYWORD2
frameGapUs	KEYWORD2
rs485SeparateEnables	KEYWORD2
rs485SharedEnable	KEYWORD2
rs485AutoDirection	KEYWORD2

readHoldingRegisters	KEYWORD2
readInputRegisters	KEYWORD2
readCoils	KEYWORD2
readDiscreteInputs	KEYWORD2
readUint32	KEYWORD2
readFloat32	KEYWORD2
writeRegister	KEYWORD2
writeRegisters	KEYWORD2
writeCoil	KEYWORD2
writeCoils	KEYWORD2
writeUint32	KEYWORD2
writeFloat32	KEYWORD2
transactRaw	KEYWORD2
options	KEYWORD2
statistics	KEYWORD2
resetStatistics	KEYWORD2
lastTransportError	KEYWORD2
describe	KEYWORD2
refused	KEYWORD2
lost	KEYWORD2
modbusCrc	KEYWORD2
modbusToUint32	KEYWORD2
modbusToInt32	KEYWORD2
modbusToFloat32	KEYWORD2
modbusFromUint32	KEYWORD2
modbusFromFloat32	KEYWORD2
modbusCoilBit	KEYWORD2
modbusSetCoilBit	KEYWORD2
modbusCoilBytes	KEYWORD2

localMac	KEYWORD2
broadcastMac	KEYWORD2
broadcastIp	KEYWORD2
staticNetwork	KEYWORD2
localIp	KEYWORD2
setMac	KEYWORD2
setLocalIp	KEYWORD2
setSubnet	KEYWORD2
setGateway	KEYWORD2
linkUp	KEYWORD2
linkStatus	KEYWORD2
waitForLink	KEYWORD2
lastError	KEYWORD2
openTcp	KEYWORD2
openUdp	KEYWORD2
connect	KEYWORD2
listen	KEYWORD2
connected	KEYWORD2
disconnect	KEYWORD2
closeSocket	KEYWORD2
established	KEYWORD2
socketState	KEYWORD2
remoteEndpoint	KEYWORD2
peek	KEYWORD2
consume	KEYWORD2
sendTo	KEYWORD2
receiveFrom	KEYWORD2
peekDatagram	KEYWORD2
discardDatagram	KEYWORD2
readSome	KEYWORD2
attach	KEYWORD2
socket	KEYWORD2

sendFrame	KEYWORD2
receiveFrame	KEYWORD2
dropFrame	KEYWORD2
packetsWaiting	KEYWORD2
restartReceiver	KEYWORD2
revision	KEYWORD2
setLedMode	KEYWORD2
readPhy	KEYWORD2
writePhy	KEYWORD2

enterCommandMode	KEYWORD2
exitCommandMode	KEYWORD2
sendLine	KEYWORD2
sendRaw	KEYWORD2
readLine	KEYWORD2
query	KEYWORD2
expect	KEYWORD2
discardInput	KEYWORD2
macAddress	KEYWORD2
firmwareVersion	KEYWORD2
productName	KEYWORD2
operatingStatus	KEYWORD2
networkMode	KEYWORD2
setNetworkMode	KEYWORD2
setIpMode	KEYWORD2
enableDhcp	KEYWORD2
setSubnetMask	KEYWORD2
setDnsServer	KEYWORD2
setLocalPort	KEYWORD2
setRemoteHost	KEYWORD2
setRemotePort	KEYWORD2
setBaudRateCode	KEYWORD2
wizBaudCode	KEYWORD2
applyStaticConfiguration	KEYWORD2
save	KEYWORD2
reboot	KEYWORD2
factoryReset	KEYWORD2
setStaticAddress	KEYWORD2
setSocket	KEYWORD2
setUart	KEYWORD2
socketStatus	KEYWORD2
restart	KEYWORD2
moduleName	KEYWORD2
version	KEYWORD2
setEcho	KEYWORD2

probe	KEYWORD2
selfTest	KEYWORD2
passed	KEYWORD2
printRegisterProbe	KEYWORD2
printSelfTest	KEYWORD2
probeCharAt	KEYWORD2
probeTextLength	KEYWORD2
probeCopyText	KEYWORD2
probePrintText	KEYWORD2

setBufferPin	KEYWORD2
writeBufferPin	KEYWORD2
setRequestPin	KEYWORD2
readRequestPin	KEYWORD2
setTransmitPriority	KEYWORD2
stageFrame	KEYWORD2
requestSend	KEYWORD2
requestSendMask	KEYWORD2
setPinMode	KEYWORD2
setPinDirection	KEYWORD2
writePin	KEYWORD2
readPin	KEYWORD2
setInterruptOpenDrain	KEYWORD2
setStartOfFrameOutput	KEYWORD2

setRetryPolicy	KEYWORD2
setKeepAlive	KEYWORD2
setSocketBufferSizes	KEYWORD2
enableSocketInterrupts	KEYWORD2
enableSocketEvents	KEYWORD2
pendingSocketInterrupts	KEYWORD2
socketEvents	KEYWORD2
clearSocketEvents	KEYWORD2

catalogCount	KEYWORD2
catalogLoad	KEYWORD2
catalogFind	KEYWORD2
catalogCopyText	KEYWORD2
catalogTextEquals	KEYWORD2
catalogSupports	KEYWORD2
catalogThisMcu	KEYWORD2
catalogPrintText	KEYWORD2
catalogPrintEntry	KEYWORD2

#######################################
# LITERAL1  constants
#######################################

NB_OK	LITERAL1
NB_INVALID_ARGUMENT	LITERAL1
NB_UNSUPPORTED	LITERAL1
NB_IO_ERROR	LITERAL1
NB_TIMEOUT	LITERAL1
NB_BUFFER_TOO_SMALL	LITERAL1
NB_NOT_READY	LITERAL1
NB_NO_DATA	LITERAL1
NB_CRC_MISMATCH	LITERAL1
NB_FRAME_ERROR	LITERAL1
NB_DEVICE_NOT_FOUND	LITERAL1
NB_BUS_ERROR	LITERAL1
NB_PROTOCOL_ERROR	LITERAL1
NB_NO_PIN	LITERAL1

CAN_NORMAL	LITERAL1
CAN_LISTEN_ONLY	LITERAL1
CAN_LOOPBACK	LITERAL1
CAN_SLEEP	LITERAL1
CAN_CONFIG	LITERAL1
CAN_CLKOUT_OFF	LITERAL1
CAN_CLKOUT_DIV1	LITERAL1
CAN_CLKOUT_DIV2	LITERAL1
CAN_CLKOUT_DIV4	LITERAL1
CAN_CLKOUT_DIV8	LITERAL1
CAN_INT_RX0	LITERAL1
CAN_INT_RX1	LITERAL1
CAN_INT_TX0	LITERAL1
CAN_INT_TX1	LITERAL1
CAN_INT_TX2	LITERAL1
CAN_INT_ERROR	LITERAL1
CAN_INT_WAKEUP	LITERAL1
CAN_INT_MESSAGE_ERROR	LITERAL1
CAN_INT_ALL_RX	LITERAL1
CAN_INT_ALL_TX	LITERAL1
CAN_ERR_NONE	LITERAL1
CAN_ERR_NO_ACK	LITERAL1
CAN_ERR_STUFF	LITERAL1
CAN_ERR_FORM	LITERAL1
CAN_ERR_CRC	LITERAL1
CAN_ERR_BIT	LITERAL1
CAN_ERR_ARBITRATION_LOST	LITERAL1
CAN_ERR_RX_OVERFLOW	LITERAL1
CAN_ERR_TX_TIMEOUT	LITERAL1
CAN_ERR_BUS_OFF	LITERAL1
CAN_ERR_UNKNOWN	LITERAL1

CANFD_OP_NORMAL_FD	LITERAL1
CANFD_OP_SLEEP	LITERAL1
CANFD_OP_INTERNAL_LOOPBACK	LITERAL1
CANFD_OP_LISTEN_ONLY	LITERAL1
CANFD_OP_CONFIG	LITERAL1
CANFD_OP_EXTERNAL_LOOPBACK	LITERAL1
CANFD_OP_NORMAL_CLASSIC	LITERAL1
CANFD_OP_RESTRICTED	LITERAL1
CANFD_INT_TX_FIFO	LITERAL1
CANFD_INT_RX_FIFO	LITERAL1
CANFD_INT_TX_ATTEMPTS	LITERAL1
CANFD_INT_RX_OVERFLOW	LITERAL1
CANFD_INT_SYSTEM_ERROR	LITERAL1
CANFD_INT_BUS_ERROR	LITERAL1
CANFD_INT_WAKEUP	LITERAL1
CANFD_INT_INVALID_MESSAGE	LITERAL1

XCVR_PIN_UNUSED	LITERAL1
XCVR_STANDBY_HIGH	LITERAL1
XCVR_STANDBY_LOW	LITERAL1
XCVR_ENABLE_HIGH	LITERAL1
XCVR_SLOPE_RS	LITERAL1

RS485_SEPARATE_ENABLES	LITERAL1
RS485_SHARED_ENABLE	LITERAL1
RS485_AUTO_DIRECTION	LITERAL1

MODBUS_READ_COILS	LITERAL1
MODBUS_READ_DISCRETE_INPUTS	LITERAL1
MODBUS_READ_HOLDING_REGISTERS	LITERAL1
MODBUS_READ_INPUT_REGISTERS	LITERAL1
MODBUS_WRITE_COIL	LITERAL1
MODBUS_WRITE_REGISTER	LITERAL1
MODBUS_WRITE_COILS	LITERAL1
MODBUS_WRITE_REGISTERS	LITERAL1
MODBUS_READ_WRITE_REGISTERS	LITERAL1
MODBUS_EXCEPTION_NONE	LITERAL1
MODBUS_ILLEGAL_FUNCTION	LITERAL1
MODBUS_ILLEGAL_DATA_ADDRESS	LITERAL1
MODBUS_ILLEGAL_DATA_VALUE	LITERAL1
MODBUS_DEVICE_FAILURE	LITERAL1
MODBUS_ACKNOWLEDGE	LITERAL1
MODBUS_DEVICE_BUSY	LITERAL1
MODBUS_NEGATIVE_ACKNOWLEDGE	LITERAL1
MODBUS_MEMORY_PARITY_ERROR	LITERAL1
MODBUS_GATEWAY_PATH_UNAVAILABLE	LITERAL1
MODBUS_GATEWAY_NO_RESPONSE	LITERAL1
MODBUS_HIGH_WORD_FIRST	LITERAL1
MODBUS_LOW_WORD_FIRST	LITERAL1
MODBUS_MAX_REGISTERS_PER_CALL	LITERAL1

SOCKET_CLOSED	LITERAL1
SOCKET_INIT	LITERAL1
SOCKET_LISTEN	LITERAL1
SOCKET_SYN_SENT	LITERAL1
SOCKET_SYN_RECEIVED	LITERAL1
SOCKET_ESTABLISHED	LITERAL1
SOCKET_FIN_WAIT	LITERAL1
SOCKET_CLOSING	LITERAL1
SOCKET_TIME_WAIT	LITERAL1
SOCKET_CLOSE_WAIT	LITERAL1
SOCKET_LAST_ACK	LITERAL1
SOCKET_UDP	LITERAL1
SOCKET_MACRAW	LITERAL1
W5500_SOCKET_COUNT	LITERAL1

ETH_ERR_NONE	LITERAL1
ETH_ERR_LINK_DOWN	LITERAL1
ETH_ERR_ARP_FAILED	LITERAL1
ETH_ERR_CONNECT_REFUSED	LITERAL1
ETH_ERR_CONNECT_TIMEOUT	LITERAL1
ETH_ERR_PEER_CLOSED	LITERAL1
ETH_ERR_SEND_TIMEOUT	LITERAL1
ETH_ERR_RX_OVERFLOW	LITERAL1
ETH_ERR_CRC	LITERAL1
ETH_ERR_SOCKET_CLOSED	LITERAL1
ETH_ERR_DHCP_NO_OFFER	LITERAL1
ETH_ERR_DHCP_NAK	LITERAL1

WIZ_TCP_CLIENT	LITERAL1
WIZ_TCP_SERVER	LITERAL1
WIZ_TCP_MIXED	LITERAL1
WIZ_UDP	LITERAL1
WIZ_STATIC_IP	LITERAL1
WIZ_DHCP	LITERAL1
USR_PARITY_NONE	LITERAL1
USR_PARITY_ODD	LITERAL1
USR_PARITY_EVEN	LITERAL1
USR_PARITY_MARK	LITERAL1
USR_PARITY_SPACE	LITERAL1
USR_FLOW_NONE	LITERAL1
USR_FLOW_XON_XOFF	LITERAL1
USR_FLOW_RTS_CTS	LITERAL1
USR_TCP_SERVER	LITERAL1
USR_TCP_CLIENT	LITERAL1
USR_UDP_SERVER	LITERAL1
USR_UDP_CLIENT	LITERAL1

FAMILY_CAN_CONTROLLER	LITERAL1
FAMILY_CAN_TRANSCEIVER	LITERAL1
FAMILY_CANFD_CONTROLLER	LITERAL1
FAMILY_CANFD_TRANSCEIVER	LITERAL1
FAMILY_RS485	LITERAL1
FAMILY_ETHERNET_MAC	LITERAL1
FAMILY_ETHERNET_OFFLOAD	LITERAL1
FAMILY_ETHERNET_PHY	LITERAL1
FAMILY_SERIAL_BRIDGE	LITERAL1
LOGIC_3V3	LITERAL1
LOGIC_5V	LITERAL1
LOGIC_3V3_TOLERANT	LITERAL1
LOGIC_DUAL	LITERAL1
MCU_AVR	LITERAL1
MCU_MEGA_AVR	LITERAL1
MCU_SAMD	LITERAL1
MCU_STM32	LITERAL1
MCU_ESP8266	LITERAL1
MCU_ESP32	LITERAL1
MCU_RP2040	LITERAL1
MCU_TEENSY4	LITERAL1
MCU_RENESAS	LITERAL1
MCU_NRF52	LITERAL1
MCU_ANY	LITERAL1
MCU_WITH_CAN	LITERAL1
MCU_WITH_CANFD	LITERAL1
MCU_WITH_RMII	LITERAL1

PROBE_STAGE_NONE	LITERAL1
PROBE_STAGE_WIRING	LITERAL1
PROBE_STAGE_SPI_LINK	LITERAL1
PROBE_STAGE_RESET	LITERAL1
PROBE_STAGE_OSCILLATOR	LITERAL1
PROBE_STAGE_CONFIG	LITERAL1
PROBE_STAGE_TIMING	LITERAL1
PROBE_STAGE_LOOPBACK	LITERAL1
PROBE_STAGE_LINK	LITERAL1
PROBE_STAGE_COMPLETE	LITERAL1
NB_TEXT	LITERAL1

CAN_PIN_DISABLED	LITERAL1
CAN_PIN_RX_INTERRUPT	LITERAL1
CAN_PIN_OUTPUT	LITERAL1
CAN_PIN_INPUT	LITERAL1
CAN_PIN_TX_REQUEST	LITERAL1
CAN_PRIORITY_LOWEST	LITERAL1
CAN_PRIORITY_LOW	LITERAL1
CAN_PRIORITY_HIGH	LITERAL1
CAN_PRIORITY_HIGHEST	LITERAL1

W5500_IR_CONNECTED	LITERAL1
W5500_IR_DISCONNECTED	LITERAL1
W5500_IR_RECEIVED	LITERAL1
W5500_IR_TIMEOUT	LITERAL1
W5500_IR_SEND_OK	LITERAL1

NIUSBUS_VERSION_STRING	LITERAL1
NIUSBUS_MODBUS_BUFFER	LITERAL1
NIUSBUS_CANFD_MAX_PAYLOAD	LITERAL1
NIUSBUS_ENC28J60_MAX_FRAME	LITERAL1
