

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;------------------------------------ VARIABLE DEFINES -----------------------------------;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;Temp Variables: accessible in all banks (0x7_)

	INTERRUPT_FLAGS		equ	0x79	; holds all the flags for our interrupts
#define 	TRANSMISSION_IN_PROGRESS_FLAG 		INTERRUPT_FLAGS,0	; indicates if we are currently transmitting
#define 	TX_BUFFER_FLAG 			INTERRUPT_FLAGS,1	; indicates if we have another packet on deck to transmit
#define 	RECEIVED_PACKET_FLAG 		INTERRUPT_FLAGS,2	; Indicator that there is new, unhandled message
#define	CHECKSUM_VERIFY_FLAG		INTERRUPT_FLAGS,3	; Indicates the check sum on the receive was valid
#define	FAST_TRACK_TRANSMIT_FLAG		INTERRUPT_FLAGS,4	; Indicates if we should rush transmission on a packet
						; (This means it is an important message, so do not wait for 200ms)

	MAIN_TEMP		equ	0x7A	; Temporary variable
	CURRENT_STATE		equ	0x7B	; State used for checking cureent state

	;Variables within interrupt response routines, just to avoid using a banksel in an interrupt.
	TMR0_BYTE02		equ	0x7C	; Timer 0 Byte 01, incremented on TMR0 overflow.
	TMR0_BYTE01		equ	0x7D	; Timer 0 Byte 01, incremented on TMR0 overflow.
	STATUS_TEMP		equ	0x7E	; Temporary variable
	W_TEMP		equ	0x7F	; Temporary variable
	

;Wait Timer variables (0x30,0x31)
             	TMR_PERIOD_HI		equ	0x30	;Period of HI byte of wait timer
	TMR_PERIOD_LO		equ	0x31       	;Period of LO byte of wait timer

; TX Buffer packets (0x32-0x3D)
	TX_BUFFER_START_BYTE	equ	0x32
	TX_BUFFER_LENGTH_MSB	equ	0x33
	TX_BUFFER_LENGTH_LSB	equ	0x34
	TX_BUFFER_API_ID	equ	0x35	; API ID for Xbee TX Buffer
	TX_BUFFER_FRAME_ID	equ	0x36	; Frame ID for xBee TX Buffer
	TX_BUFFER_DESTINATION_MSB	equ	0x37	; MSB of Xbee destination address 
	TX_BUFFER_DESTINATION_LSB	equ	0x38	; LSB of Xbee destination address
	TX_BUFFER_OPTIONS	equ	0x39	; Options byte (8) of Xbee TX	
	TX_BUFFER_HEADER	equ	0x3A	; Header for Xbee TX data packet		
	TX_BUFFER_NAV_DATA	equ	0x3B	; Navigation data byte (dir x4, speed x4)
	TX_BUFFER_SPECIALS_DATA	equ	0x3C	; Special actions byte
	TX_BUFFER_CHECKSUM	equ	0x3D	; checksum variable for TX

;iButton variables (0x4_)
             	iBUTTON_FAM_NUM		equ	0x40	;Family # of iButton
	iBUTTON_SN_LO		equ	0x41        	;LO bit of iButton serial #
                iBUTTON_SN_HI		equ	0x43          	;HI bit of iButton serial #
	OLD_SN_LO		equ	0x42	;previous reading of SN LO
	OLD_SN_HI		equ	0x44	;previous readnig of SN HI
	iBUTTON_COUNTER		equ	0x45	;counter for reading loops
	iBUTTON_READS		equ	0x46	;counts the number of good reads in a row
	iBUTTON_TEMP		equ	0x47	; Temporary variable


;xBee TX variables(0x5_)
; TX:[Start byte; Length_MSB; Length_LSB; API_ID; Frame_ID; Dest_MSB; Dest_LSB; Options; Header; Nav; Special; Check Sum]
	TX_START_BYTE		equ	0x50
	TX_LENGTH_MSB		equ	0x51
	TX_LENGTH_LSB		equ	0x52
	TX_API_ID		equ	0x53	; API ID for Xbee TX
	TX_FRAME_ID		equ	0x54	; Frame ID for xBee TX
	TX_DESTINATION_MSB	equ	0x55	; MSB of Xbee destination address
	TX_DESTINATION_LSB	equ	0x56	; LSB of Xbee destination address
	TX_OPTIONS		equ	0x57	; Options byte (8) of Xbee TX	
	TX_HEADER		equ	0x58	; Header for Xbee TX data packet		
	TX_NAV_DATA		equ	0x59	; Navigation data byte (dir x4, speed x4)
	TX_SPECIALS_DATA	equ	0x5A	; Special actions byte
	TX_CHECKSUM		equ	0x5B	; checksum variable for TX

	TX_SUM		equ	0x5C	; sum variable for packet bytes
	TX_MESSAGE		equ	0x5D	; sent message (1 byte)
	TX_INDEX		equ	0x5E	; index for message packet byte lookup
	TX_TEMP		equ	0x5F	; Temporary variable
	

;xBee RX variables (0x6_)
; RX:[Start byte; Length_MSB; Length_LSB; API_ID; Source_MSB; Source_LSB; RSSI; Options; Header Nav; Special; Check Sum]
	RX_START_BYTE		equ	0x60
	RX_LENGTH_MSB		equ	0x61
	RX_LENGTH_LSB		equ	0x62
	RX_API_ID		equ	0x63	; API ID for Xbee RX
	RX_SOURCE_MSB		equ	0x64	; MSB of Xbee destination address
	RX_SOURCE_LSB		equ	0x65	; LSB of Xbee destination address
	RX_RSSI		equ	0x66	; Received Signal Strength Indicator
	RX_OPTIONS		equ	0x67	; Options byte (8) of Xbee RX	
	RX_HEADER		equ	0x68	; Header for Xbee RX data packet		
	RX_NAV_DATA		equ	0x69	; Navigation data byte (dir x4, speed x4)
	RX_SPECIALS_DATA	equ	0x6A	; Special actions byte
	RX_CHECKSUM		equ	0x6B	; checksum variable for RX
	
	RX_SUM		equ	0x6C	; sum variable for packet bytes
	RX_MESSAGE		equ	0x6D	; sent message (1 byte)
	RX_INDEX		equ	0x6E	; index for message packet byte lookup
	RX_TEMP		equ	0x6F	; Temporary variable

