Example #1
0
char DoCommand()
{
    switch(rxbuffer[0])
    {
        case CMD_EMPTY:
            return 1;
        case CMD_READ_BATTERY_VOLTAGE:
            SendWord(BatteryValue);
            return 1;
        case CMD_SET_ACCELERATION_VAR:
            Acceleration = rxbuffer[4];
            return 1;
        case CMD_SET_PWM_ENABLED:
            TMR2ON = rxbuffer[4] > 0;
            return 1;
        case CMD_SET_MOTORS_ENABLED:
            Enable1pin = rxbuffer[4] > 0;
            Enable2pin = rxbuffer[4] > 0;
            return 1;
        case CMD_SET_PWMSPEED_A_VAR:
            PWMSpeedA.hi = rxbuffer[3];
            PWMSpeedA.lo = rxbuffer[4];
            return 1;
        case CMD_SET_PWMSPEED_B_VAR:
            PWMSpeedB.hi = rxbuffer[3];
            PWMSpeedB.lo = rxbuffer[4];
            return 1;
        case CMD_GET_TOTALTICKS_A:
            SendLong(AbsolutTickCountA);
            return 1;
        case CMD_GET_TOTALTICKS_B:
            SendLong(AbsolutTickCountB);
            return 1;
        case CMD_GET_TICKSPEED_A:
            SendWord(CurrentTickSpeedA);
            return 1;
        case CMD_GET_TICKSPEED_B:
            SendWord(CurrentTickSpeedB);
            return 1;
        case CMD_GET_CURRENT_A:
            SendWord(SenseValueA);
            return 1;
        case CMD_GET_CURRENT_B:
            SendWord(SenseValueB);
            return 1;
        case CMD_SET_SERVOA_POS:
            ServoAPos = rxbuffer[4];
            return 1;
        case CMD_SET_SERVOB_POS:
            ServoBPos = rxbuffer[4];
            return 1;
        case CMD_SET_SERVOC_POS:
            ServoCPos = rxbuffer[4];
            return 1;
        default:
            return 0;
    }
}
Example #2
0
uint16_t SPI::TransmitWord (uint16_t word)
{
    WaitTXE();
    SendWord (word);
    WaitRXNE();
    return ReceiveWord();
}
Example #3
0
void Network_Message::Start(int messageID) {
	//if (Network.msgSendLock) {
		//logError("Starting new networking message without finishing old one!");
	//}
	Network.msgSendLock = Thread.EnterLock(MUTEX_NETWORK_SENDBUF);

	rawSize = 0;
	if (messageID != BAD_ID) {
		SendWord(0);
		SendByte(messageID & 0xFF);
	}
}