Code: #ifdef NXT2excelMaxData #else #define NXT2excelMaxData 27 #endif
ubyte NXT2excelbuffer[ NXT2excelMaxData *2];
bool NXT2excelAddValue(int val, byte index) { if (index<=1 || index >NXT2excelMaxData*2) return false; memcpy(NXT2excelbuffer[(index-1)*2],val,sizeof(val)); return true; }
void NXT2excelSendMessage() { memcpy(NXT2excelbuffer[0],nPgmTime,sizeof(nPgmTime)); while (bBTBusy) wait1Msec(10); cCmdMessageWriteToBluetooth(NXT2excelbuffer, sizeof(NXT2excelbuffer)+1, mailbox1); while (nBluetoothCmdStatus==ioRsltCommPending) wait1Msec(2); } **********
(NXT2excelExample1.c) ********** #define NXT2excelMaxData 14
#include "NXT2excel.c";
task main() { while(true) { NXT2excelAddValue(nAvgBatteryLevel,2); NXT2excelAddValue(nImmediateBatteryLevel,3); NXT2excelAddValue(SensorValue[S1],4); NXT2excelAddValue(SensorValue[S2],5); NXT2excelAddValue(SensorValue[S3],6); NXT2excelAddValue(SensorValue[S4],7); NXT2excelAddValue(motor[motorA],8); NXT2excelAddValue(motor[motorB],9); NXT2excelAddValue(motor[motorC],10); NXT2excelAddValue(nMotorEncoder[motorA],11); NXT2excelAddValue(nMotorEncoder[motorB],12); NXT2excelAddValue(nMotorEncoder[motorC],13); NXT2excelAddValue(nNxtButtonPressed,14); NXT2excelSendMessage(); wait1Msec(50); } } |