#ifndef NXCDEFS_H #define NXCDEFS_H //============================================================================== // // Copyright (C) 2006 - John Hansen. All rights reserved. // // Workfile:: NXCDefs.h // Date:: 2007-01-26 // Revision:: 20 // //------------------------------------------------------------------------------ // // Contains declarations for the NXC NXT API resources // //============================================================================== #include "NBCCommon.h" #define u8 unsigned char #define s8 char #define u16 unsigned int #define s16 int #define u32 unsigned long #define s32 long #define S1 0 #define S2 1 #define S3 2 #define S4 3 #define SENSOR_1 Sensor(S1) #define SENSOR_2 Sensor(S2) #define SENSOR_3 Sensor(S3) #define SENSOR_4 Sensor(S4) #define SENSOR_TYPE_NONE IN_TYPE_NO_SENSOR #define SENSOR_TYPE_TOUCH IN_TYPE_SWITCH #define SENSOR_TYPE_TEMPERATURE IN_TYPE_TEMPERATURE #define SENSOR_TYPE_LIGHT IN_TYPE_REFLECTION #define SENSOR_TYPE_ROTATION IN_TYPE_ANGLE #define SENSOR_TYPE_LIGHT_ACTIVE IN_TYPE_LIGHT_ACTIVE #define SENSOR_TYPE_LIGHT_INACTIVE IN_TYPE_LIGHT_INACTIVE #define SENSOR_TYPE_SOUND_DB IN_TYPE_SOUND_DB #define SENSOR_TYPE_SOUND_DBA IN_TYPE_SOUND_DBA #define SENSOR_TYPE_CUSTOM IN_TYPE_CUSTOM #define SENSOR_TYPE_LOWSPEED IN_TYPE_LOWSPEED #define SENSOR_TYPE_LOWSPEED_9V IN_TYPE_LOWSPEED_9V #define SENSOR_TYPE_HIGHSPEED IN_TYPE_HISPEED #define SENSOR_MODE_RAW IN_MODE_RAW #define SENSOR_MODE_BOOL IN_MODE_BOOLEAN #define SENSOR_MODE_EDGE IN_MODE_TRANSITIONCNT #define SENSOR_MODE_PULSE IN_MODE_PERIODCOUNTER #define SENSOR_MODE_PERCENT IN_MODE_PCTFULLSCALE #define SENSOR_MODE_CELSIUS IN_MODE_CELSIUS #define SENSOR_MODE_FAHRENHEIT IN_MODE_FAHRENHEIT #define SENSOR_MODE_ROTATION IN_MODE_ANGLESTEP #define _SENSOR_CFG(type,mode) (((type)<<8)+(mode)) #define SENSOR_TOUCH _SENSOR_CFG(SENSOR_TYPE_TOUCH, SENSOR_MODE_BOOL) #define SENSOR_LIGHT _SENSOR_CFG(SENSOR_TYPE_LIGHT, SENSOR_MODE_PERCENT) #define SENSOR_ROTATION _SENSOR_CFG(SENSOR_TYPE_ROTATION, SENSOR_MODE_ROTATION) #define SENSOR_CELSIUS _SENSOR_CFG(SENSOR_TYPE_TEMPERATURE, SENSOR_MODE_CELSIUS) #define SENSOR_FAHRENHEIT _SENSOR_CFG(SENSOR_TYPE_TEMPERATURE, SENSOR_MODE_FAHRENHEIT) #define SENSOR_PULSE _SENSOR_CFG(SENSOR_TYPE_TOUCH, SENSOR_MODE_PULSE) #define SENSOR_EDGE _SENSOR_CFG(SENSOR_TYPE_TOUCH, SENSOR_MODE_EDGE) #define SetSensor(sensor, tm) { SetSensorType(sensor, tm>>8); SetSensorMode(sensor, tm&0xff); } #define PlayTone(f, d) PlayToneEx(f, d, 4, 0) #define PlayFile(f) PlayFileEx(f, 4, 0) #define ClearScreen() asm { PointOut(200, 200, TRUE) } // input fields #define Sensor(p) asm { ReadSensor(p, __RETVAL__) } #define SensorUS(p) asm { ReadSensorUS(p, __RETVAL__) } #define SensorType(p) GetInput(p, Type) #define SensorMode(p) GetInput(p, InputMode) #define SensorRaw(p) GetInput(p, RawValue) #define SensorNormalized(p) GetInput(p, NormalizedValue) #define SensorScaled(p) GetInput(p, ScaledValue) #define SensorInvalid(p) GetInput(p, InvalidData) // output fields #define MotorMode(p) GetOutput(p, OutputMode) #define MotorPower(p) GetOutput(p, Power) #define MotorActualSpeed(p) GetOutput(p, ActualSpeed) #define MotorTachoCount(p) GetOutput(p, TachoCount) #define MotorTachoLimit(p) GetOutput(p, TachoLimit) #define MotorRunState(p) GetOutput(p, RunState) #define MotorTurnRatio(p) GetOutput(p, TurnRatio) #define MotorRegulation(p) GetOutput(p, RegMode) #define MotorOverload(p) GetOutput(p, Overload) #define MotorRegPValue(p) GetOutput(p, RegPValue) #define MotorRegIValue(p) GetOutput(p, RegIValue) #define MotorRegDValue(p) GetOutput(p, RegDValue) #define MotorBlockTachoCount(p) GetOutput(p, BlockTachoCount) #define MotorRotationCount(p) GetOutput(p, RotationCount) #define ResetTachoCount(ports) SetOutput(ports, UpdateFlags, RESET_COUNT) #define ResetBlockTachoCount(ports) SetOutput(ports, UpdateFlags, RESET_BLOCK_COUNT) #define ResetRotationCount(ports) SetOutput(ports, UpdateFlags, RESET_ROTATION_COUNT) #define ResetAllTachoCounts(ports) SetOutput(ports, UpdateFlags, RESET_ALL) #define until(c) while(!(c)) #define FreeMemory() asm { GetFreeMemory(__RETVAL__) } #define BatteryLevel() asm { GetBatteryLevel(__TMPWORD__) __RETURN__ __TMPWORD__ } #define SoundState() asm { GetSoundState(__RETVAL__, __TMPBYTE__) } #define SoundFlags() asm { GetSoundState(__TMPBYTE__, __RETVAL__) } #define StopSound() asm { __setSoundState(SOUND_STATE_STOP, 0, __RETVAL__) } #define PowerDown() asm { SetIOCtrlModuleValue(IOCtrlOffsetPowerOn, IOCTRL_POWERDOWN) } #define RebootInFirmwareMode() asm { SetIOCtrlModuleValue(IOCtrlOffsetPowerOn, IOCTRL_BOOT) } #define CurrentTick() asm { gettick __RETVAL__ } #define FirstTick() asm { GetFirstTick(__RETVAL__) } #define ResetSleepTimer() asm { acquire __KeepAliveMutex \ syscall KeepAlive, __KeepAliveArgs \ mov __RETVAL__, __KeepAliveArgs.Result \ release __KeepAliveMutex } #define IOMA(n) asm { mov __RETVAL__, n } #define SetIOMA(n, val) asm { mov n, val } #define ByteArrayToStr(a, s) asm { arrtostr s, a } #define StrToByteArray(s, a) asm { strtoarr a, s } #define ArrayLen(a) asm { arrsize __RETVAL__, a } #define ArrayInit(a, val, cnt) asm { arrinit a, val, cnt } #define ArraySubset(aout, asrc, idx, len) asm { arrsubset aout, asrc, idx, len } #define ArrayBuild1(aout, src1) asm { arrbuild aout, src1 } #define ArrayBuild2(aout, src1, src2) asm { arrbuild aout, src1, src2 } #define ArrayBuild3(aout, src1, src2, src3) asm { arrbuild aout, src1, src2, src3 } #define ArrayBuild4(aout, src1, src2, src3, src4) asm { arrbuild aout, src1, src2, src3, src4 } #define GetLSInputBuffer(p, offset, cnt, data) asm { GetIOMapBytes(LowSpeedModuleName, LowSpeedOffsetInBufBuf(p)+offset, cnt, data) } #define GetLSOutputBuffer(p, offset, cnt, data) asm { GetIOMapBytes(LowSpeedModuleName, LowSpeedOffsetOutBufBuf(p)+offset, cnt, data) } #define GetDisplayNormal(x, line, cnt, data) asm { GetIOMapBytes(DisplayModuleName, DisplayOffsetNormal(line,x), cnt, data) } #define GetDisplayPopup(x, line, cnt, data) asm { GetIOMapBytes(DisplayModuleName, DisplayOffsetPopup(line,x), cnt, data) } #define GetBTInputBuffer(offset, cnt, data) asm { GetIOMapBytes(CommModuleName, CommOffsetBtInBufBuf+offset, cnt, data) } #define GetBTOutputBuffer(offset, cnt, data) asm { GetIOMapBytes(CommModuleName, CommOffsetBtOutBufBuf+offset, cnt, data) } #define GetHSInputBuffer(offset, cnt, data) asm { GetIOMapBytes(CommModuleName, CommOffsetHsInBufBuf+offset, cnt, data) } #define GetHSOutputBuffer(offset, cnt, data) asm { GetIOMapBytes(CommModuleName, CommOffsetHsOutBufBuf+offset, cnt, data) } #define GetUSBInputBuffer(offset, cnt, data) asm { GetIOMapBytes(CommModuleName, CommOffsetUsbInBufBuf+offset, cnt, data) } #define GetUSBOutputBuffer(offset, cnt, data) asm { GetIOMapBytes(CommModuleName, CommOffsetUsbOutBufBuf+offset, cnt, data) } #define GetUSBPollBuffer(offset, cnt, data) asm { GetIOMapBytes(CommModuleName, CommOffsetUsbPollBufBuf+offset, cnt, data) } #define BTDeviceName(p) asm { GetIOMapBytes(CommModuleName, CommOffsetBtDeviceTableName(p), 16, __STRRETVAL__) } #define BTConnectionName(p) asm { GetIOMapBytes(CommModuleName, CommOffsetBtConnectTableName(p), 16, __STRRETVAL__) } #define BTConnectionPinCode(p) asm { GetIOMapBytes(CommModuleName, CommOffsetBtConnectTablePinCode(p), 16, __STRRETVAL__) } #define BrickDataName() asm { GetIOMapBytes(CommModuleName, CommOffsetBrickDataName, 16, __STRRETVAL__) } #define GetBTDeviceAddress(p, data) asm { GetIOMapBytes(CommModuleName, CommOffsetBtDeviceTableBdAddr(p), 7, data) } #define GetBTConnectionAddress(p, data) asm { GetIOMapBytes(CommModuleName, CommOffsetBtConnectTableBdAddr(p), 7, data) } #define GetBrickDataAddress(data) asm { GetIOMapBytes(CommModuleName, CommOffsetBrickDataBdAddr, 7, data) } #define SoundFrequency() asm { GetSoundFrequency(__TMPWORD__) __RETURN__ __TMPWORD__ } #define SoundDuration() asm { GetSoundDuration(__TMPWORD__) __RETURN__ __TMPWORD__ } #define SoundSampleRate() asm { GetSoundSampleRate(__TMPWORD__) __RETURN__ __TMPWORD__ } #define SoundMode() asm { GetSoundMode(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define SoundVolume() asm { GetSoundVolume(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define ButtonPressCount(b) asm { GetButtonPressCount(b, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define ButtonLongPressCount(b) asm { GetButtonLongPressCount(b, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define ButtonShortReleaseCount(b) asm { GetButtonShortReleaseCount(b, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define ButtonLongReleaseCount(b) asm { GetButtonLongReleaseCount(b, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define ButtonReleaseCount(b) asm { GetButtonReleaseCount(b, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define ButtonState(b) asm { GetButtonState(b, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define CommandFlags() asm { GetCommandFlags(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define UIState() asm { GetUIState(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define UIButton() asm { GetUIButton(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define VMRunState() asm { GetVMRunState(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BatteryState() asm { GetBatteryState(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BluetoothState() asm { GetBluetoothState(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define UsbState() asm { GetUsbState(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define SleepTimeout() asm { GetSleepTimeout(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define SleepTimer() asm { GetSleepTimer(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define RechargeableBattery() asm { GetRechargeableBattery(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define Volume() asm { GetVolume(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define OnBrickProgramPointer() asm { GetOnBrickProgramPointer(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define CustomSensorZeroOffset(p) asm { GetInCustomZeroOffset(p, __TMPWORD__) __RETURN__ __TMPWORD__ } #define CustomSensorPercentFullScale(p) asm { GetInCustomPercentFullScale(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define CustomSensorActiveStatus(p) asm { GetInCustomActiveStatus(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define SensorBoolean(p) asm { GetInSensorBoolean(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define SensorDigiPinsDirection(p) asm { GetInDigiPinsDirection(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define SensorDigiPinsStatus(p) asm { GetInDigiPinsStatus(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define SensorDigiPinsOutputLevel(p) asm { GetInDigiPinsOutputLevel(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define MotorPwnFreq() asm { GetOutPwnFreq(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSInputBufferInPtr(p) asm { GetLSInputBufferInPtr(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSInputBufferOutPtr(p) asm { GetLSInputBufferOutPtr(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSInputBufferBytesToRx(p) asm { GetLSInputBufferBytesToRx(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSOutputBufferInPtr(p) asm { GetLSOutputBufferInPtr(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSOutputBufferOutPtr(p) asm { GetLSOutputBufferOutPtr(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSOutputBufferBytesToRx(p) asm { GetLSOutputBufferBytesToRx(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSMode(p) asm { GetLSMode(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSChannelState(p) asm { GetLSChannelState(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSErrorType(p) asm { GetLSErrorType(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSState() asm { GetLSState(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define LSSpeed() asm { GetLSSpeed(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define DisplayEraseMask() asm { GetDisplayEraseMask(__TMPLONG__) __RETURN__ __TMPLONG__ } #define DisplayUpdateMask() asm { GetDisplayUpdateMask(__TMPLONG__) __RETURN__ __TMPLONG__ } #define DisplayDisplay() asm { GetDisplayDisplay(__TMPLONG__) __RETURN__ __TMPLONG__ } #define DisplayFlags() asm { GetDisplayFlags(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define DisplayTextLinesCenterFlags() asm { GetDisplayTextLinesCenterFlags(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTDeviceClass(p) asm { GetBTDeviceClass(p, __TMPLONG__) __RETURN__ __TMPLONG__ } #define BTDeviceStatus(p) asm { GetBTDeviceStatus(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTConnectionClass(p) asm { GetBTConnectionClass(p, __TMPLONG__) __RETURN__ __TMPLONG__ } #define BTConnectionHandleNum(p) asm { GetBTConnectionHandleNum(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTConnectionStreamStatus(p) asm { GetBTConnectionStreamStatus(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTConnectionLinkQuality(p) asm { GetBTConnectionLinkQuality(p, __TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BrickDataBluecoreVersion() asm { GetBrickDataBluecoreVersion(__TMPWORD__) __RETURN__ __TMPWORD__ } #define BrickDataBtStateStatus() asm { GetBrickDataBtStateStatus(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BrickDataBtHardwareStatus() asm { GetBrickDataBtHardwareStatus(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BrickDataTimeoutValue() asm { GetBrickDataTimeoutValue(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTInputBufferInPtr() asm { GetBTInputBufferInPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTInputBufferOutPtr() asm { GetBTInputBufferOutPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTOutputBufferInPtr() asm { GetBTOutputBufferInPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTOutputBufferOutPtr() asm { GetBTOutputBufferOutPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define HSInputBufferInPtr() asm { GetHSInputBufferInPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define HSInputBufferOutPtr() asm { GetHSInputBufferOutPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define HSOutputBufferInPtr() asm { GetHSOutputBufferInPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define HSOutputBufferOutPtr() asm { GetHSOutputBufferOutPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define USBInputBufferInPtr() asm { GetUSBInputBufferInPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define USBInputBufferOutPtr() asm { GetUSBInputBufferOutPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define USBOutputBufferInPtr() asm { GetUSBOutputBufferInPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define USBOutputBufferOutPtr() asm { GetUSBOutputBufferOutPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define USBPollBufferInPtr() asm { GetUSBPollBufferInPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define USBPollBufferOutPtr() asm { GetUSBPollBufferOutPtr(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTDeviceCount() asm { GetBTDeviceCount(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define BTDeviceNameCount() asm { GetBTDeviceNameCount(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define HSFlags() asm { GetHSFlags(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define HSSpeed() asm { GetHSSpeed(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define HSState() asm { GetHSState(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define USBState() asm { GetUSBState(__TMPBYTE__) __RETURN__ __TMPBYTE__ } #define SetSoundFrequency(n) asm { __setSoundFrequency(n) } #define SetSoundDuration(n) asm { __setSoundDuration(n) } #define SetSoundSampleRate(n) asm { __setSoundSampleRate(n) } #define SetSoundFlags(n) asm { __setSoundFlags(n) } #define SetSoundState(n) asm { __setSoundState(n) } #define SetSoundMode(n) asm { __setSoundMode(n) } #define SetSoundVolume(n) asm { __setSoundVolume(n) } #define SetButtonPressCount(b, n) asm { __setButtonPressCount(b, n) } #define SetButtonLongPressCount(b, n) asm { __setButtonLongPressCount(b, n) } #define SetButtonShortReleaseCount(b, n) asm { __setButtonShortReleaseCount(b, n) } #define SetButtonLongReleaseCount(b, n) asm { __setButtonLongReleaseCount(b, n) } #define SetButtonReleaseCount(b, n) asm { __setButtonReleaseCount(b, n) } #define SetButtonState(b, n) asm { __setButtonState(b, n) } #define SetCommandFlags(n) asm { __setCommandFlags(n) } #define SetUIState(n) asm { __setUIState(n) } #define SetUIButton(n) asm { __setUIButton(n) } #define SetVMRunState(n) asm { __setVMRunState(n) } #define SetBatteryState(n) asm { __setBatteryState(n) } #define SetBluetoothState(n) asm { __setBluetoothState(n) } #define SetUsbState(n) asm { __setUsbState(n) } #define SetSleepTimeout(n) asm { __setSleepTimeout(n) } #define SetSleepTimer(n) asm { __setSleepTimer(n) } #define SetVolume(n) asm { __setVolume(n) } #define SetOnBrickProgramPointer(n) asm { __setOnBrickProgramPointer(n) } #define ForceOff(n) asm { __forceOff(n) } #define SetCustomSensorZeroOffset(p, n) asm { __setInCustomZeroOffset(p, n) } #define SetCustomSensorPercentFullScale(p, n) asm { __setInCustomPercentFullScale(p, n) } #define SetCustomSensorActiveStatus(p, n) asm { __setInCustomActiveStatus(p, n) } #define SetSensorBoolean(p, n) asm { __setInSensorBoolean(p, n) } #define SetSensorDigiPinsDirection(p, n) asm { __setInDigiPinsDirection(p, n) } #define SetSensorDigiPinsStatus(p, n) asm { __setInDigiPinsStatus(p, n) } #define SetSensorDigiPinsOutputLevel(p, n) asm { __setInDigiPinsOutputLevel(p, n) } #define SetMotorPwnFreq(n) asm { __setOutPwnFreq(n) } #define SetLSInputBuffer(p, offset, cnt, data) asm { SetIOMapBytes(LowSpeedModuleName, LowSpeedOffsetInBufBuf(p)+offset, cnt, data) } #define SetLSInputBufferInPtr(p, n) asm { __setLSInputBufferInPtr(p, n) } #define SetLSInputBufferOutPtr(p, n) asm { __setLSInputBufferOutPtr(p, n) } #define SetLSInputBufferBytesToRx(p, n) asm { __setLSInputBufferBytesToRx(p, n) } #define SetLSOutputBuffer(p, offset, cnt, data) asm { SetIOMapBytes(LowSpeedModuleName, LowSpeedOffsetOutBufBuf(p)+offset, cnt, data) } #define SetLSOutputBufferInPtr(p, n) asm { __setLSOutputBufferInPtr(p, n) } #define SetLSOutputBufferOutPtr(p, n) asm { __setLSOutputBufferOutPtr(p, n) } #define SetLSOutputBufferBytesToRx(p, n) asm { __setLSOutputBufferBytesToRx(p, n) } #define SetLSMode(p, n) asm { __setLSMode(p, n) } #define SetLSChannelState(p, n) asm { __setLSChannelState(p, n) } #define SetLSErrorType(p, n) asm { __setLSErrorType(p, n) } #define SetLSState(n) asm { __setLSState(n) } #define SetLSSpeed(n) asm { __setLSSpeed(n) } #define SetDisplayEraseMask(n) asm { __setDisplayEraseMask(n) } #define SetDisplayUpdateMask(n) asm { __setDisplayUpdateMask(n) } #define SetDisplayDisplay(n) asm { __setDisplayDisplay(n) } #define SetDisplayFlags(n) asm { __setDisplayFlags(n) } #define SetDisplayTextLinesCenterFlags(n) asm { __setDisplayTextLinesCenterFlags(n) } #define SetDisplayNormal(x, line, cnt, data) asm { SetIOMapBytes(DisplayModuleName, DisplayOffsetNormal(line,x), cnt, data) } #define SetDisplayPopup(x, line, cnt, data) asm { SetIOMapBytes(DisplayModuleName, DisplayOffsetPopup(line,x), cnt, data) } #define SetBTDeviceName(p, str) asm { SetIOMapBytes(CommModuleName, CommOffsetBtDeviceTableName(p), 16, str) } #define SetBTDeviceAddress(p, addr) asm { SetIOMapBytes(CommModuleName, CommOffsetBtDeviceTableBdAddr(p), 7, addr) } #define SetBTConnectionName(p, str) asm { SetIOMapBytes(CommModuleName, CommOffsetBtConnectTableName(p), 16, str) } #define SetBTConnectionPinCode(p, code) asm { SetIOMapBytes(CommModuleName, CommOffsetBtConnectTablePinCode(p), 16, code) } #define SetBTConnectionAddress(p, addr) asm { SetIOMapBytes(CommModuleName, CommOffsetBtConnectTableBdAddr(p), 7, addr) } #define SetBrickDataName(str) asm { SetIOMapBytes(CommModuleName, CommOffsetBrickDataName, 16, str) } #define SetBrickDataAddress(p, addr) asm { SetIOMapBytes(CommModuleName, CommOffsetBrickDataBdAddr, 7, addr) } #define SetBTDeviceClass(p, n) asm { __setBTDeviceClass(p, n) } #define SetBTDeviceStatus(p, n) asm { __setBTDeviceStatus(p, n) } #define SetBTConnectionClass(p, n) asm { __setBTConnectionClass(p, n) } #define SetBTConnectionHandleNum(p, n) asm { __setBTConnectionHandleNum(p, n) } #define SetBTConnectionStreamStatus(p, n) asm { __setBTConnectionStreamStatus(p, n) } #define SetBTConnectionLinkQuality(p, n) asm { __setBTConnectionLinkQuality(p, n) } #define SetBrickDataBluecoreVersion(n) asm { __setBrickDataBluecoreVersion(n) } #define SetBrickDataBtStateStatus(n) asm { __setBrickDataBtStateStatus(n) } #define SetBrickDataBtHardwareStatus(n) asm { __setBrickDataBtHardwareStatus(n) } #define SetBrickDataTimeoutValue(n) asm { __setBrickDataTimeoutValue(n) } #define SetBTInputBuffer(offset, cnt, data) asm { SetIOMapBytes(CommModuleName, CommOffsetBtInBufBuf+offset, cnt, data) } #define SetBTInputBufferInPtr(n) asm { __setBTInputBufferInPtr(n) } #define SetBTInputBufferOutPtr(n) asm { __setBTInputBufferOutPtr(n) } #define SetBTOutputBuffer(offset, cnt, data) asm { SetIOMapBytes(CommModuleName, CommOffsetBtOutBufBuf+offset, cnt, data) } #define SetBTOutputBufferInPtr(n) asm { __setBTOutputBufferInPtr(n) } #define SetBTOutputBufferOutPtr(n) asm { __setBTOutputBufferOutPtr(n) } #define SetHSInputBuffer(offset, cnt, data) asm { SetIOMapBytes(CommModuleName, CommOffsetHsInBufBuf+offset, cnt, data) } #define SetHSInputBufferInPtr(n) asm { __setHSInputBufferInPtr(n) } #define SetHSInputBufferOutPtr(n) asm { __setHSInputBufferOutPtr(n) } #define SetHSOutputBuffer(offset, cnt, data) asm { SetIOMapBytes(CommModuleName, CommOffsetHsOutBufBuf+offset, cnt, data) } #define SetHSOutputBufferInPtr(n) asm { __setHSOutputBufferInPtr(n) } #define SetHSOutputBufferOutPtr(n) asm { __setHSOutputBufferOutPtr(n) } #define SetUSBInputBuffer(offset, cnt, data) asm { SetIOMapBytes(CommModuleName, CommOffsetUsbInBufBuf+offset, cnt, data) } #define SetUSBInputBufferInPtr(n) asm { __setUSBInputBufferInPtr(n) } #define SetUSBInputBufferOutPtr(n) asm { __setUSBInputBufferOutPtr(n) } #define SetUSBOutputBuffer(offset, cnt, data) asm { SetIOMapBytes(CommModuleName, CommOffsetUsbOutBufBuf+offset, cnt, data) } #define SetUSBOutputBufferInPtr(n) asm { __setUSBOutputBufferInPtr(n) } #define SetUSBOutputBufferOutPtr(n) asm { __setUSBOutputBufferOutPtr(n) } #define SetUSBPollBuffer(offset, cnt, data) asm { SetIOMapBytes(CommModuleName, CommOffsetUsbPollBufBuf+offset, cnt, data) } #define SetUSBPollBufferInPtr(n) asm { __setUSBPollBufferInPtr(n) } #define SetUSBPollBufferOutPtr(n) asm { __setUSBPollBufferOutPtr(n) } #define SetBTDeviceCount(n) asm { __setBTDeviceCount(n) } #define SetBTDeviceNameCount(n) asm { __setBTDeviceNameCount(n) } #define SetHSFlags(n) asm { __setHSFlags(n) } #define SetHSSpeed(n) asm { __setHSSpeed(n) } #define SetHSState(n) asm { __setHSState(n) } #define SetUSBState(n) asm { __setUSBState(n) } #define CreateFile(fname, fsize, handle) asm { __createFile(fname, fsize, handle, __RETVAL__) } #define OpenFileAppend(fname, fsize, handle) asm { __openFileAppend(fname, fsize, handle, __RETVAL__) } #define OpenFileRead(fname, fsize, handle) asm { __openFileRead(fname, fsize, handle, __RETVAL__) } #define CloseFile(handle) asm { __closeFile(handle, __RETVAL__) } #define ResolveHandle(fname, handle, writeable) asm { __resolveHandle(fname, handle, writeable, __RETVAL__) } #define RenameFile(oldname, newname) asm { __renameFile(oldname, newname, __RETVAL__) } #define DeleteFile(fname) asm { __deleteFile(fname, __RETVAL__) } #define Read(handle, n) asm { __readValue(handle, n, __RETVAL__) } #define ReadLn(handle, n) asm { __readLnValue(handle, n, __RETVAL__) } #define ReadBytes(handle, len, buf) asm { __readBytes(handle, len, buf, __RETVAL__) } #define Write(handle, n) asm { __writeValue(handle, n, __RETVAL__) } #define WriteLn(handle, n) asm { __writeLnValue(handle, n, __RETVAL__) } #define WriteString(handle, str, cnt) asm { __writeBytes(handle, str, cnt, __RETVAL__) } #define WriteLnString(handle, str, cnt) asm { __writeLnBytes(handle, str, cnt, __RETVAL__) } #define WriteBytes(handle, buf, cnt) asm { __writeBytes(handle, buf, cnt, __RETVAL__) } #define WriteBytesEx(handle, len, buf) asm { __writeBytesEx(handle, len, buf, __RETVAL__) } #define SendMessage(queue, msg) asm { __sendMessage(queue, msg, __RETVAL__) } #define ReceiveMessage(queue, clear, msg) asm { __receiveMessage(queue, clear, msg, __RETVAL__) } #define LowspeedStatus(port, bready) asm { __lowspeedStatus(port, bready, __RETVAL__) } #define LowspeedWrite(port, retlen, buffer) asm { __lowspeedWrite(port, retlen, buffer, __RETVAL__) } #define LowspeedRead(port, buflen, buffer) asm { __lowspeedRead(port, buflen, buffer, __RETVAL__) } #define BluetoothStatus(conn) asm { __bluetoothStatus(conn, __RETVAL__) } #define BluetoothWrite(conn, buffer) asm { __bluetoothWrite(conn, buffer, __RETVAL__) } #define I2CBytes(port, inbuf, count, outbuf) asm { ReadI2CBytes(port, inbuf, count, outbuf, __RETVAL__) } #endif // NXCDEFS_H