# NOTE: keyword name and keyword type must be separated by one single TAB character

##################################################
# Classes, datatypes, and C/C++ keywords (KEYWORD1)
##################################################
CellStatus	KEYWORD1
Commander	KEYWORD1
Font	KEYWORD1
Fonts	KEYWORD1
FontId	KEYWORD1
Gradient	KEYWORD1
ImgChunker	KEYWORD1
ImgDepthConverter	KEYWORD1
Packet	KEYWORD1
PacketStatus	KEYWORD1
Point	KEYWORD1
Text	KEYWORD1

##################################################
# Methods & Functions (KEYWORD2)
##################################################
## Commander ##
setup	KEYWORD2
selectCell	KEYWORD2
getSelectedCell	KEYWORD2
ping	KEYWORD2
waitForCellsToTurnOn	KEYWORD2
sendSwap	KEYWORD2
sendStoreAddress	KEYWORD2
sendImage4bitInChunks	KEYWORD2
sendImageChunk4bit	KEYWORD2
sendFill	KEYWORD2
sendTextPars	KEYWORD2
sendText	KEYWORD2
sendCellPosition	KEYWORD2
sendPosition	KEYWORD2
sendCopyBuffer	KEYWORD2
sendDrawText	KEYWORD2
sendDrawPixel	KEYWORD2
sendDrawLineH	KEYWORD2
sendDrawLineV	KEYWORD2
sendDrawRect	KEYWORD2
sendDrawGradient	KEYWORD2
sendDrawRainbow	KEYWORD2
sendRawPacket	KEYWORD2
setPacketDelayUs	KEYWORD2
setTimeoutUs	KEYWORD2
setNumRetry	KEYWORD2
setWaitTimeoutMs	KEYWORD2
reqStatus	KEYWORD2
setBcastAddresses	KEYWORD2
waitCurrentCell	KEYWORD2
waitCell	KEYWORD2
waitCells	KEYWORD2

## Fonts ##
getFont	KEYWORD2

## ImgChunker ##
getChunk	KEYWORD2
setChunk	KEYWORD2
getChunk8bit	KEYWORD2
getChunk4bit	KEYWORD2
getChunk2bit	KEYWORD2
getChunk1bit	KEYWORD2
setChunk8bit	KEYWORD2
setChunk4bit	KEYWORD2
setChunk2bit	KEYWORD2
setChunk1bit	KEYWORD2

## ImgDepthConverter ##
c8to4	KEYWORD2
c8to2	KEYWORD2
c8to1	KEYWORD2
c4to8	KEYWORD2
c4to2	KEYWORD2
c4to1	KEYWORD2
c2to8	KEYWORD2
c2to4	KEYWORD2
c2to1	KEYWORD2
c1to8	KEYWORD2
c1to4	KEYWORD2
c1to2	KEYWORD2

## pair #
first	KEYWORD2
second	KEYWORD2
make_pair	KEYWORD2

## serialParse #
parseDouble	KEYWORD2
parseLong	KEYWORD2

## Text ##
getStringPixelSize	KEYWORD2
setText	KEYWORD2
setColor	KEYWORD2
setBgColor	KEYWORD2
setTopleft	KEYWORD2
setCharSpacing	KEYWORD2
setLineSpacing	KEYWORD2
setMonospace	KEYWORD2
setOverlay	KEYWORD2
setFont	KEYWORD2

## utils #
min	KEYWORD2
max	KEYWORD2
abs	KEYWORD2

## macros ##
MAKE_RGB	KEYWORD2

##################################################
# USB-related functions, plus setup and loop (KEYWORD3)
##################################################
commander	KEYWORD3
I2C	KEYWORD3

##################################################
# Constants (LITERAL1)
##################################################
## Index constants ##
R	LITERAL1	Constants
G	LITERAL1	Constants
B	LITERAL1	Constants
X	LITERAL1	Constants
Y	LITERAL1	Constants

## Frame buffer parameters ##
COLOR_DEPTH	LITERAL1	Constants
MATRIX_ROWS	LITERAL1	Constants
MATRIX_COLS	LITERAL1	Constants
TEXT_BUFFER_SIZE	LITERAL1	Constants
TEXT_PACKET_MAX_SIZE	LITERAL1	Constants
FM_I2C_BUFFER_SIZE	LITERAL1	Constants
FM_I2C_FREQ	LITERAL1	Constants
FRAME_SIZE	LITERAL1	Constants
FRAME_SIZE_1_COLOR	LITERAL1	Constants
MATRIX_PIXELS	LITERAL1	Constants
SIZE_8x8	LITERAL1	Constants
CELL_I2C_DEF_ADDR	LITERAL1	Constants
BROADCAST	LITERAL1	Constants

## CellStatus #
IDLE	LITERAL1	Constants
BUSY	LITERAL1	Constants

## Gradient ##
GRAD_WEST	LITERAL1	Constants
GRAD_NORTH_WEST	LITERAL1	Constants
GRAD_NORTH	LITERAL1	Constants
GRAD_NORTH_EAST	LITERAL1	Constants
GRAD_EAST	LITERAL1	Constants
GRAD_SOUTH_EAST	LITERAL1	Constants
GRAD_SOUTH	LITERAL1	Constants
GRAD_SOUTH_WEST	LITERAL1	Constants
GRAD_DIAMOND	LITERAL1	Constants
GRAD_CIRCLE	LITERAL1	Constants
GRAD_SQUARE	LITERAL1	Constants
GRAD_DIAMOND_REV	LITERAL1	Constants
GRAD_CIRCLE_REV	LITERAL1	Constants
GRAD_SQUARE_REV	LITERAL1	Constants

## FontId #
FM_8x8	LITERAL1	Constants
ARIAL_16x16	LITERAL1	Constants

## Packets ##
PKT_NONE	LITERAL1	Constants
PKT_PING	LITERAL1	Constants
PKT_SWAP	LITERAL1	Constants
PKT_IMG_4bit_CHUNK	LITERAL1	Constants
PKT_FILL	LITERAL1	Constants
PKT_COPY_BUFFER	LITERAL1	Constants
PKT_CELL_POSITION	LITERAL1	Constants
PKT_TEXT_POSITION	LITERAL1	Constants
PKT_TEXT_PARS	LITERAL1	Constants
PKT_TEXT	LITERAL1	Constants
PKT_DRAW_TEXT	LITERAL1	Constants
PKT_DRAW_PIXEL	LITERAL1	Constants
PKT_DRAW_LINE_H	LITERAL1	Constants
PKT_DRAW_LINE_V	LITERAL1	Constants
PKT_DRAW_RECT	LITERAL1	Constants
PKT_DRAW_GRADIENT	LITERAL1	Constants
PKT_DRAW_RAINBOW	LITERAL1	Constants
PKT_STORE_ADDRESS	LITERAL1	Constants

SWAP_NOSYNC	LITERAL1	Constants
SWAP_SYNC	LITERAL1	Constants
SWAP_NOBLANK	LITERAL1	Constants
SWAP_BLANK	LITERAL1	Constants

## PacketStatus #
ACCEPTED	LITERAL1	Constants
REJECTED	LITERAL1	Constants
PENDING	LITERAL1	Constants
