#######################################
# Syntax Coloring Map For RadioLib
#######################################

#######################################
# Datatypes (KEYWORD1)
#######################################

RadioLib	KEYWORD1
RadioShield	KEYWORD1
Module	KEYWORD1
SerialModule	KEYWORD1

# modules
CC1101	KEYWORD1
ESP8266	KEYWORD1
HC05	KEYWORD1
JDY08	KEYWORD1
LLCC68	KEYWORD1
nRF24	KEYWORD1
RF69	KEYWORD1
RFM22	KEYWORD1
RFM23	KEYWORD1
RFM95	KEYWORD1
RFM96	KEYWORD1
RFM97	KEYWORD1
RFM98	KEYWORD1
Si4430	KEYWORD1
Si4431	KEYWORD1
Si4432	KEYWORD1
SIM800	KEYWORD1
SX1231	KEYWORD1
SX1261	KEYWORD1
SX1262	KEYWORD1
SX1268	KEYWORD1
SX1272	KEYWORD1
SX1273	KEYWORD1
SX1276	KEYWORD1
SX1277	KEYWORD1
SX1278	KEYWORD1
SX1279	KEYWORD1
SX1280	KEYWORD1
SX1281	KEYWORD1
SX1282	KEYWORD1
XBee	KEYWORD1
XBeeSerial	KEYWORD1

# protocols
MQTTClient	KEYWORD1
HTTPClient	KEYWORD1
RTTYClient	KEYWORD1
MorseClient	KEYWORD1
PagerClient	KEYWORD1
AX25Client	KEYWORD1
AX25Frame	KEYWORD1
SSTVClient	KEYWORD1
HellClient	KEYWORD1
AFSKClient	KEYWORD1
FSK4Client	KEYWORD1

# SSTV modes
Scottie1	KEYWORD1
Scottie2	KEYWORD1
ScottieDX	KEYWORD1
Martin1	KEYWORD1
Martin2	KEYWORD1
Wrasse	KEYWORD1
PasokonP3	KEYWORD1
PasokonP5	KEYWORD1
PasokonP7	KEYWORD1

#######################################
# Methods and Functions (KEYWORD2)
#######################################

# RadioLib
ModuleA	KEYWORD2
ModuleB	KEYWORD2
Module	KEYWORD2

# SX127x/RFM9x + RF69 + CC1101
begin	KEYWORD2
beginFSK	KEYWORD2
transmit	KEYWORD2
receive	KEYWORD2
scanChannel	KEYWORD2
sleep	KEYWORD2
standby	KEYWORD2
transmitDirect	KEYWORD2
receiveDirect	KEYWORD2
packetMode	KEYWORD2
setDio0Action	KEYWORD2
setDio1Action	KEYWORD2
clearDio0Action	KEYWORD2
clearDio1Action	KEYWORD2
startTransmit	KEYWORD2
startReceive	KEYWORD2
readData	KEYWORD2
setBandwidth	KEYWORD2
setSpreadingFactor	KEYWORD2
setCodingRate	KEYWORD2
setFrequency	KEYWORD2
setSyncWord	KEYWORD2
setOutputPower	KEYWORD2
setCurrentLimit	KEYWORD2
setPreambleLength	KEYWORD2
setGain	KEYWORD2
getFrequencyError	KEYWORD2
getRSSI	KEYWORD2
getAFCError	KEYWORD2
getSNR	KEYWORD2
getDataRate	KEYWORD2
setBitRate	KEYWORD2
setRxBandwidth	KEYWORD2
setAFCBandwidth	KEYWORD2
setAFC		KEYWORD2
setAFCAGCTrigger	KEYWORD2
setFrequencyDeviation	KEYWORD2
setNodeAddress	KEYWORD2
setBroadcastAddress	KEYWORD2
disableAddressFiltering	KEYWORD2
setDataShaping	KEYWORD2
setOOK	KEYWORD2
setDataShapingOOK	KEYWORD2
setCRC	KEYWORD2
variablePacketLengthMode	KEYWORD2
fixedPacketLengthMode	KEYWORD2
setCrcFiltering KEYWORD2
enableSyncWordFiltering KEYWORD2
disableSyncWordFiltering  KEYWORD2
setPromiscuous  KEYWORD2
setRSSIConfig	KEYWORD2
setEncoding	KEYWORD2
getIRQFlags	KEYWORD2
getModemStatus	KEYWORD2
getTempRaw	KEYWORD2
setRfSwitchPins	KEYWORD2
forceLDRO	KEYWORD2
autoLDRO	KEYWORD2
getChipVersion	KEYWORD2
invertIQ    KEYWORD2
setOokThresholdType	KEYWORD2
setOokPeakThresholdDecrement	KEYWORD2
setOokFixedOrFloorThreshold	KEYWORD2
setDirectSyncWord	KEYWORD2
setDirectAction	KEYWORD2
readBit	KEYWORD2

# RF69-specific
setAESKey	KEYWORD2
enableAES	KEYWORD2
disableAES	KEYWORD2
getTemperature	KEYWORD2
setAmbientTemperature	KEYWORD2
setLnaTestBoost KEYWORD2

# CC1101-specific
getLQI	KEYWORD2
setGdo0Action	KEYWORD2
setGdo2Action	KEYWORD2
clearGdo0Action	KEYWORD2
clearGdo2Action	KEYWORD2
setCrcFiltering	KEYWORD2

# SX126x-specific
setTCXO	KEYWORD2
setDio2AsRfSwitch	KEYWORD2
getTimeOnAir	KEYWORD2
implicitHeader	KEYWORD2
explicitHeader	KEYWORD2
setSyncBits	KEYWORD2
setWhitening	KEYWORD2
startReceiveDutyCycle	KEYWORD2
startReceiveDutyCycleAuto	KEYWORD2
setRegulatorLDO	KEYWORD2
setRegulatorDCDC	KEYWORD2
getCurrentLimit	KEYWORD2

# ESP8266
join	KEYWORD2
reset	KEYWORD2

# XBee
setDestinationAddress	KEYWORD2
setPanId	KEYWORD2
getPacketSource	KEYWORD2
getPacketData	KEYWORD2

# nRF24
setIrqAction	KEYWORD2
setAddressWidth	KEYWORD2
setTransmitPipe	KEYWORD2
setReceivePipe	KEYWORD2
disablePipe	KEYWORD2
getStatus	KEYWORD2
setAutoAck	KEYWORD2

# HTTP
get	KEYWORD2
post	KEYWORD2

# MQTT
connect	KEYWORD2
disconnect	KEYWORD2
publish	KEYWORD2
subscribe	KEYWORD2
unsubscribe	KEYWORD2
ping	KEYWORD2
check	KEYWORD2

# RTTY
idle	KEYWORD2
byteArr	KEYWORD2

# Morse
startSignal	KEYWORD2

# TransportLayer
openTransportConnection	KEYWORD2
closeTransportConnection	KEYWORD2
send	KEYWORD2
receive	KEYWORD2
getNumBytes	KEYWORD2

# SIM800
sendSMS	KEYWORD2
shutdown	KEYWORD2

# AX.25
setRepeaters	KEYWORD2
setRecvSequence	KEYWORD2
setSendSequence	KEYWORD2
sendFrame	KEYWORD2
setCorrection	KEYWORD2

# SSTV
sendHeader	KEYWORD2
sendLine	KEYWORD2
getPictureHeight	KEYWORD2

# SX128x
beginGFSK	KEYWORD2
beginFLRC	KEYWORD2
beginBLE	KEYWORD2
setAccessAddress	KEYWORD2
range	KEYWORD2
startRanging	KEYWORD2
getRangingResult	KEYWORD2

# Hellschreiber
printGlyph	KEYWORD2

# AFSK
tone	KEYWORD2
noTone	KEYWORD2

#######################################
# Constants (LITERAL1)
#######################################

RADIOLIB_NC	LITERAL1
RADIOLIB_VERSION	LITERAL1

RADIOLIB_SHAPING_NONE	LITERAL1
RADIOLIB_SHAPING_0_3	LITERAL1
RADIOLIB_SHAPING_0_5	LITERAL1
RADIOLIB_SHAPING_0_7	LITERAL1
RADIOLIB_SHAPING_1_0	LITERAL1

RADIOLIB_ENCODING_NRZ	LITERAL1
RADIOLIB_ENCODING_MANCHESTER	LITERAL1
RADIOLIB_ENCODING_WHITENING	LITERAL1

ERR_NONE	LITERAL1
ERR_UNKNOWN	LITERAL1

ERR_CHIP_NOT_FOUND	LITERAL1
ERR_MEMORY_ALLOCATION_FAILED	LITERAL1
ERR_PACKET_TOO_LONG	LITERAL1
ERR_TX_TIMEOUT	LITERAL1
ERR_RX_TIMEOUT	LITERAL1
ERR_CRC_MISMATCH	LITERAL1
ERR_INVALID_BANDWIDTH	LITERAL1
ERR_INVALID_SPREADING_FACTOR	LITERAL1
ERR_INVALID_CODING_RATE	LITERAL1
ERR_INVALID_BIT_RANGE	LITERAL1
ERR_INVALID_FREQUENCY	LITERAL1
ERR_INVALID_OUTPUT_POWER	LITERAL1
PREAMBLE_DETECTED	LITERAL1
CHANNEL_FREE	LITERAL1
ERR_SPI_WRITE_FAILED	LITERAL1
ERR_INVALID_CURRENT_LIMIT	LITERAL1
ERR_INVALID_PREAMBLE_LENGTH	LITERAL1
ERR_INVALID_GAIN	LITERAL1
ERR_WRONG_MODEM	LITERAL1
ERR_INVALID_NUM_SAMPLES	LITERAL1
ERR_INVALID_RSSI_OFFSET	LITERAL1
ERR_INVALID_ENCODING	LITERAL1

ERR_INVALID_BIT_RATE	LITERAL1
ERR_INVALID_FREQUENCY_DEVIATION	LITERAL1
ERR_INVALID_BIT_RATE_BW_RATIO	LITERAL1
ERR_INVALID_RX_BANDWIDTH	LITERAL1
ERR_INVALID_SYNC_WORD	LITERAL1
ERR_INVALID_DATA_SHAPING	LITERAL1
ERR_INVALID_MODULATION	LITERAL1

ERR_AT_FAILED	LITERAL1
ERR_URL_MALFORMED	LITERAL1
ERR_RESPONSE_MALFORMED_AT	LITERAL1
ERR_RESPONSE_MALFORMED	LITERAL1
ERR_MQTT_CONN_VERSION_REJECTED	LITERAL1
ERR_MQTT_CONN_ID_REJECTED	LITERAL1
ERR_MQTT_CONN_SERVER_UNAVAILABLE	LITERAL1
ERR_MQTT_CONN_BAD_USERNAME_PASSWORD	LITERAL1
ERR_MQTT_CONN_NOT_AUTHORIZED	LITERAL1
ERR_MQTT_UNEXPECTED_PACKET_ID	LITERAL1
ERR_MQTT_NO_NEW_PACKET_AVAILABLE	LITERAL1
MQTT_SUBS_SUCCESS_QOS_0	LITERAL1
MQTT_SUBS_SUCCESS_QOS_1	LITERAL1
MQTT_SUBS_SUCCESS_QOS_2	LITERAL1
ERR_MQTT_SUBS_FAILED	LITERAL1

ERR_CMD_MODE_FAILED	LITERAL1
ERR_FRAME_MALFORMED	LITERAL1
ERR_FRAME_INCORRECT_CHECKSUM	LITERAL1
ERR_FRAME_UNEXPECTED_ID	LITERAL1
ERR_FRAME_NO_RESPONSE	LITERAL1

ASCII	LITERAL1
ASCII_EXTENDED	LITERAL1
ITA2	LITERAL1
BCD	LITERAL1
ERR_INVALID_RTTY_SHIFT	LITERAL1
ERR_UNSUPPORTED_ENCODING	LITERAL1

ERR_INVALID_DATA_RATE	LITERAL1
ERR_INVALID_ADDRESS_WIDTH	LITERAL1
ERR_INVALID_PIPE_NUMBER	LITERAL1
ERR_ACK_NOT_RECEIVED	LITERAL1

ERR_INVALID_NUM_BROAD_ADDRS	LITERAL1

ERR_INVALID_CRC_CONFIGURATION	LITERAL1
LORA_DETECTED	LITERAL1
ERR_INVALID_TCXO_VOLTAGE	LITERAL1
ERR_INVALID_MODULATION_PARAMETERS	LITERAL1
ERR_SPI_CMD_TIMEOUT	LITERAL1
ERR_SPI_CMD_INVALID	LITERAL1
ERR_SPI_CMD_FAILED	LITERAL1
ERR_INVALID_SLEEP_PERIOD	LITERAL1
ERR_INVALID_RX_PERIOD	LITERAL1

ERR_INVALID_CALLSIGN	LITERAL1
ERR_INVALID_NUM_REPEATERS	LITERAL1
ERR_INVALID_REPEATER_CALLSIGN	LITERAL1

ERR_RANGING_TIMEOUT	LITERAL1
