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

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

RadioLib	KEYWORD1
RadioShield	KEYWORD1
Module	KEYWORD1
RadioLibHal	KEYWORD1
ArduinoHal	KEYWORD1

# modules
CC1101	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
SX1233	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
STM32WLx	KEYWORD1
STM32WLx_Module	KEYWORD1

# protocols
RTTYClient	KEYWORD1
MorseClient	KEYWORD1
AX25Client	KEYWORD1
AX25Frame	KEYWORD1
SSTVClient	KEYWORD1
HellClient	KEYWORD1
AFSKClient	KEYWORD1
FSK4Client	KEYWORD1
APRSClient	KEYWORD1
PagerClient	KEYWORD1
ExternalRadio	KEYWORD1
BellClient	KEYWORD1
LoRaWANNode	KEYWORD1
LoRaWANBand_t	KEYWORD1
LoRaWANEvent_t	KEYWORD1

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

# Bell Modems
Bell101	KEYWORD1
Bell103	KEYWORD1
Bell202	KEYWORD1

# LoRaWAN bands
EU868	KEYWORD1
US915	KEYWORD1
CN780	KEYWORD1
EU433	KEYWORD1
AU915	KEYWORD1
CN500	KEYWORD1
AS923	KEYWORD1
KR920	KEYWORD1
IN865	KEYWORD1

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

# RadioLib
ModuleA	KEYWORD2
ModuleB	KEYWORD2
setRfSwitchTable	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
finishTransmit	KEYWORD2
startReceive	KEYWORD2
readData	KEYWORD2
startChannelScan	KEYWORD2
getChannelScanResult	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
setOokPeakThresholdStep	KEYWORD2
setDirectSyncWord	KEYWORD2
setDirectAction	KEYWORD2
readBit	KEYWORD2
enableBitSync	KEYWORD2
disableBitSync	KEYWORD2
setFHSSHoppingPeriod	KEYWORD2
getFHSSHoppingPeriod	KEYWORD2
getFHSSChannel	KEYWORD2
clearFHSSInt	KEYWORD2
randomByte	KEYWORD2
getPacketLength	KEYWORD2
setFifoEmptyAction	KEYWORD2
clearFifoEmptyAction	KEYWORD2
setFifoFullAction	KEYWORD2
clearFifoFullAction	KEYWORD2
fifoAdd	KEYWORD2
fifoGet	KEYWORD2
setLowBatteryThreshold	KEYWORD2

# RF69-specific
setAESKey	KEYWORD2
enableAES	KEYWORD2
disableAES	KEYWORD2
getTemperature	KEYWORD2
setAmbientTemperature	KEYWORD2
setLnaTestBoost	KEYWORD2
setOokFixedThreshold	KEYWORD2
enableContinuousModeBitSync	KEYWORD2
disableContinuousModeBitSync	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
getIrqStatus	KEYWORD2
getLastError	KEYWORD2
setRxBoostedGainMode	KEYWORD2
uploadPatch	KEYWORD2
spectralScanStart	KEYWORD2
spectralScanAbort	KEYWORD2
spectralScanGetStatus	KEYWORD2
spectralScanGetResult	KEYWORD2

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

# RTTY
idle	KEYWORD2
byteArr	KEYWORD2

# Morse
startSignal	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
setInversion	KEYWORD2

# AFSK
tone	KEYWORD2
noTone	KEYWORD2

# APRS
sendPosition	KEYWORD2
sendMicE	KEYWORD2

# Pager
sendTone	KEYWORD2

# PhysicalLayer
dropSync	KEYWORD2
setTimerFlag	KEYWORD2
setInterruptSetup	KEYWORD2
setPacketReceivedAction	KEYWORD2
clearPacketReceivedAction	KEYWORD2
setPacketSentAction	KEYWORD2
clearPacketSentAction	KEYWORD2
setDataRate	KEYWORD2
checkDataRate	KEYWORD2

# BellModem
setModem	KEYWORD2

# LoRaWAN
wipe	KEYWORD2
getBufferNonces	KEYWORD2
setBufferNonces	KEYWORD2
getBufferSession	KEYWORD2
setBufferSession	KEYWORD2
restore	KEYWORD2
beginOTAA	KEYWORD2
beginABP	KEYWORD2
isJoined	KEYWORD2
saveSession	KEYWORD2
sendMacCommandReq	KEYWORD2
uplink	KEYWORD2
downlink	KEYWORD2
sendReceive	KEYWORD2
setDeviceStatus	KEYWORD2
getFcntUp	KEYWORD2
getNFcntDown	KEYWORD2
getAFcntDown	KEYWORD2
resetFcntDown	KEYWORD2
setDatarate	KEYWORD2
setADR	KEYWORD2
setDutyCycle	KEYWORD2
dutyCycleInterval	KEYWORD2
timeUntilUplink	KEYWORD2
setDwellTime	KEYWORD2
maxPayloadDwellTime	KEYWORD2
setTxPower	KEYWORD2
setCSMA	KEYWORD2
getMacLinkCheckAns	KEYWORD2
getMacDeviceTimeAns	KEYWORD2
getDevAddr	KEYWORD2

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

RADIOLIB_NC	LITERAL1
RADIOLIB_VERSION	LITERAL1
RADIOLIB_PIN_TYPE	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

RADIOLIB_BUILTIN_MODULE	LITERAL1

RADIOLIB_MORSE_INTER_SYMBOL	LITERAL1
RADIOLIB_MORSE_CHAR_COMPLETE	LITERAL1
RADIOLIB_MORSE_WORD_COMPLETE	LITERAL1

RADIOLIB_ERR_NONE	LITERAL1
RADIOLIB_ERR_UNKNOWN	LITERAL1

RADIOLIB_ERR_CHIP_NOT_FOUND	LITERAL1
RADIOLIB_ERR_MEMORY_ALLOCATION_FAILED	LITERAL1
RADIOLIB_ERR_PACKET_TOO_LONG	LITERAL1
RADIOLIB_ERR_TX_TIMEOUT	LITERAL1
RADIOLIB_ERR_RX_TIMEOUT	LITERAL1
RADIOLIB_ERR_CRC_MISMATCH	LITERAL1
RADIOLIB_ERR_INVALID_BANDWIDTH	LITERAL1
RADIOLIB_ERR_INVALID_SPREADING_FACTOR	LITERAL1
RADIOLIB_ERR_INVALID_CODING_RATE	LITERAL1
RADIOLIB_ERR_INVALID_BIT_RANGE	LITERAL1
RADIOLIB_ERR_INVALID_FREQUENCY	LITERAL1
RADIOLIB_ERR_INVALID_OUTPUT_POWER	LITERAL1
RADIOLIB_PREAMBLE_DETECTED	LITERAL1
RADIOLIB_CHANNEL_FREE	LITERAL1
RADIOLIB_ERR_SPI_WRITE_FAILED	LITERAL1
RADIOLIB_ERR_INVALID_CURRENT_LIMIT	LITERAL1
RADIOLIB_ERR_INVALID_PREAMBLE_LENGTH	LITERAL1
RADIOLIB_ERR_INVALID_GAIN	LITERAL1
RADIOLIB_ERR_WRONG_MODEM	LITERAL1
RADIOLIB_ERR_INVALID_NUM_SAMPLES	LITERAL1
RADIOLIB_ERR_INVALID_RSSI_OFFSET	LITERAL1
RADIOLIB_ERR_INVALID_ENCODING	LITERAL1

RADIOLIB_ERR_INVALID_BIT_RATE	LITERAL1
RADIOLIB_ERR_INVALID_FREQUENCY_DEVIATION	LITERAL1
RADIOLIB_ERR_INVALID_BIT_RATE_BW_RATIO	LITERAL1
RADIOLIB_ERR_INVALID_RX_BANDWIDTH	LITERAL1
RADIOLIB_ERR_INVALID_SYNC_WORD	LITERAL1
RADIOLIB_ERR_INVALID_DATA_SHAPING	LITERAL1
RADIOLIB_ERR_INVALID_MODULATION	LITERAL1
RADIOLIB_ERR_INVALID_OOK_RSSI_PEAK_TYPE	LITERAL1

RADIOLIB_ERR_INVALID_SYMBOL	LITERAL1
RADIOLIB_ERR_INVALID_MIC_E_TELEMETRY	LITERAL1
RADIOLIB_ERR_INVALID_MIC_E_TELEMETRY_LENGTH	LITERAL1
RADIOLIB_ERR_MIC_E_TELEMETRY_STATUS	LITERAL1

RADIOLIB_ASCII	LITERAL1
RADIOLIB_ASCII_EXTENDED	LITERAL1
RADIOLIB_ITA2	LITERAL1
RADIOLIB_ERR_INVALID_RTTY_SHIFT	LITERAL1
RADIOLIB_ERR_UNSUPPORTED_ENCODING	LITERAL1

RADIOLIB_ERR_INVALID_DATA_RATE	LITERAL1
RADIOLIB_ERR_INVALID_ADDRESS_WIDTH	LITERAL1
RADIOLIB_ERR_INVALID_PIPE_NUMBER	LITERAL1
RADIOLIB_ERR_ACK_NOT_RECEIVED	LITERAL1

RADIOLIB_ERR_INVALID_NUM_BROAD_ADDRS	LITERAL1

RADIOLIB_ERR_INVALID_CRC_CONFIGURATION	LITERAL1
RADIOLIB_LORA_DETECTED	LITERAL1
RADIOLIB_ERR_INVALID_TCXO_VOLTAGE	LITERAL1
RADIOLIB_ERR_INVALID_MODULATION_PARAMETERS	LITERAL1
RADIOLIB_ERR_SPI_CMD_TIMEOUT	LITERAL1
RADIOLIB_ERR_SPI_CMD_INVALID	LITERAL1
RADIOLIB_ERR_SPI_CMD_FAILED	LITERAL1
RADIOLIB_ERR_INVALID_SLEEP_PERIOD	LITERAL1
RADIOLIB_ERR_INVALID_RX_PERIOD	LITERAL1

RADIOLIB_ERR_INVALID_CALLSIGN	LITERAL1
RADIOLIB_ERR_INVALID_NUM_REPEATERS	LITERAL1
RADIOLIB_ERR_INVALID_REPEATER_CALLSIGN	LITERAL1

RADIOLIB_ERR_RANGING_TIMEOUT	LITERAL1

RADIOLIB_ERR_INVALID_PAYLOAD	LITERAL1
RADIOLIB_ERR_ADDRESS_NOT_FOUND	LITERAL1
RADIOLIB_ERR_INVALID_FUNCTION	LITERAL1

RADIOLIB_ERR_NETWORK_NOT_JOINED	LITERAL1
RADIOLIB_ERR_DOWNLINK_MALFORMED	LITERAL1
RADIOLIB_ERR_INVALID_REVISION	LITERAL1
RADIOLIB_ERR_INVALID_PORT	LITERAL1
RADIOLIB_ERR_NO_RX_WINDOW	LITERAL1
RADIOLIB_ERR_INVALID_CHANNEL	LITERAL1
RADIOLIB_ERR_INVALID_CID	LITERAL1
RADIOLIB_ERR_UPLINK_UNAVAILABLE	LITERAL1
RADIOLIB_ERR_COMMAND_QUEUE_FULL	LITERAL1
RADIOLIB_ERR_COMMAND_QUEUE_ITEM_NOT_FOUND	LITERAL1
RADIOLIB_ERR_JOIN_NONCE_INVALID	LITERAL1
RADIOLIB_ERR_N_FCNT_DOWN_INVALID	LITERAL1
RADIOLIB_ERR_A_FCNT_DOWN_INVALID	LITERAL1
RADIOLIB_ERR_DATA_RATE_INVALID	LITERAL1
RADIOLIB_ERR_DWELL_TIME_EXCEEDED LITERAL1
RADIOLIB_ERR_CHECKSUM_MISMATCH	LITERAL1