Integration Guide
SMK900 Integration Guide Revision 4
ANNEXE
Virtual Machine IDE
SMK900.evi include file
Here is the code listing for the required include file with all constant and function defines that allows access
to transceiver-specific functions:
//hop table specs
#define HOPTABLE_50K_START 0
#define HOPTABLE_50K_COUNT 6
//nwk max count
#define NWK_COUNT 8
//MeshExecType
#define MESHEXECTYPE_SERIAL_bm 0x01
#define MESHEXECTYPE_AIRCMD_bm 0x02
#define MESHEXECTYPE_BOOTUP_bm 0x04
#define MESHEXECTYPE_ENTERSEEKMODE_bm 0x08
#define MESHEXECTYPE_LEAVESEEKMODE_bm 0x10
#define MESHEXECTYPE_ENTERBROADCAST_bm 0x20
#define MESHEXECTYPE_LEAVEBROADCAST_bm 0x40
#define MESHEXECTYPE_ENABLEVMFLASHOP_bm 0x80
#define MESHI2CPOWERBUSMODE_DISABLED 0
#define MESHI2CPOWERBUSMODE_NORMAL 1
#define MESHI2CPOWERBUSMODE_ALWAYSOFF 2
#define MESHI2CPOWERBUSMODE_ALWAYSON 3
#define I2CMASTER_READMODE_bm 0x01
#define REGISTER_GPSTORAGE_COUNT 3
#define REGISTER_ADDRESS 0x00
#define REGISTER_ADDRESSLEN 0x01
#define REGISTER_DYN 0x02
#define REGISTER_NWKID 0x03
#define REGISTER_HOPTABLE 0x04
#define REGISTER_POWER 0x05
#define REGISTER_UARTBSEL 0x06
#define REGISTER_NODETYPE 0x07
#define REGISTER_SLEEPMODE 0x08
#define REGISTER_EXTSLEEPI2CADDRESS 0x09
#define REGISTER_EXTSLEEPCORRECTIONFACTOR 0x0A
#define REGISTER_PRESETRF 0x0B
#define REGISTER_CRYPTODATA_KEY_0 0x0C
#define REGISTER_CRYPTODATA_KEY_1 0x0D
#define REGISTER_I2C 0x0E
#define REGISTEROFFSET_I2C_DELAYCLOCKLEN 0
#define REGISTEROFFSET_I2C_SRCPORT 2
#define REGISTEROFFSET_I2C_PULLUPENABLEDFLAG 3
#define REGISTEROFFSET_I2C_POWERBUSENABLED 4
#define REGISTEROFFSET_I2C_POWERBUS_POWERUPDELAY_MSEC 5
#define REGISTER_MESHEXECACTIVEFLAG 0x0F
#define REGISTER_SNIFFBROADCASTINENABLEDFLAG 0x10
#define REGISTER_ENABLENOTIFICATIONFLAGSMASK 0x11
#define REGISTER_GPSTORAGE_0 0x12
#define REGISTER_GPSTORAGE_1 0x13
#define REGISTER_GPSTORAGE_2 0x14
#define GetBuffer_S8(r) $uf0(0x20, r)
#define GetBuffer_U8(r) $uf0(0x21, r)
#define GetBuffer_16(r) $uf0(0x22, r)
#define InvBuffer_S32(r) $uf0(0x25, r)
#define AddBuffer_32(r1,r2) $uf0(0x43, r1, r2)
#define MulBuffer_S32(r1,r2) $uf0(0x45, r1, r2)
#define DivBuffer_S32(r1,r2) $uf0(0x46, r1, r2)
#define CompBuffer_S32(r1,r2) $uf0(0x47, r1, r2)
#define GetRegisterRAMBUF(r,regOffset) $uf0(0x50, r, regOffset)
#define GetRegisterRAM(r,regOffset) $uf0(0x51, r, regOffset)
#define GetRegisterEEPROM(r,regOffset) $uf0(0x52, r, regOffset)
#define SetRegisterRAMBUF(r,regOffset) $uf0(0x54, r, regOffset)
#define ShiftLeftBuffer_U32(r,shLeft) $uf0(0x57, r, shLeft)
#define CopyBuffer(r1,r2,len) $uf0(0x60, r1, r2, len)
#define SetBuffer(r,val,len) $uf0(0x70, r, val, len)
#define GetAirBuf(r,i,len) $uf0(0x74, r, i, len)
#define GetTxBuf(r,i,len) $uf0(0x75, r, i, len)
#define GetAirBufCount() GetAirBuf(0,0,0)
#define GetTxBufCount() GetTxBuf(0,0,0)
42










