Changeset 15 in flair-src for trunk/lib/FlairSensorActuator/src/Controller.cpp
- Timestamp:
- Apr 8, 2016, 3:40:57 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/FlairSensorActuator/src/Controller.cpp
r3 r15 19 19 using namespace flair::core; 20 20 21 namespace flair { namespace sensor { 21 namespace flair { 22 namespace sensor { 22 23 23 RumbleMessage::RumbleMessage(unsigned int leftForce,unsigned int leftTimeout,unsigned int rightForce,unsigned int rightTimeout):Message(sizeof(ControllerAction)+sizeof(leftForce)+sizeof(leftTimeout)+sizeof(rightForce)+sizeof(rightTimeout)) { 24 SetLeftForce(leftForce); 25 SetLeftTimeout(leftTimeout); 26 SetRightForce(rightForce); 27 SetRightTimeout(rightTimeout); 28 buffer[0]=(char)ControllerAction::Rumble; 24 RumbleMessage::RumbleMessage(unsigned int leftForce, unsigned int leftTimeout, 25 unsigned int rightForce, unsigned int rightTimeout) 26 : Message(sizeof(ControllerAction) + sizeof(leftForce) + 27 sizeof(leftTimeout) + sizeof(rightForce) + sizeof(rightTimeout)) { 28 SetLeftForce(leftForce); 29 SetLeftTimeout(leftTimeout); 30 SetRightForce(rightForce); 31 SetRightTimeout(rightTimeout); 32 buffer[0] = (char)ControllerAction::Rumble; 29 33 } 30 34 31 35 unsigned int RumbleMessage::GetLeftForce() const { 32 33 memcpy(&leftForce,buffer+leftForceOffset,sizeof(leftForce));34 36 unsigned int leftForce; 37 memcpy(&leftForce, buffer + leftForceOffset, sizeof(leftForce)); 38 return leftForce; 35 39 } 36 40 37 41 unsigned int RumbleMessage::GetLeftTimeout() const { 38 39 memcpy(&leftTimeout,buffer+leftTimeoutOffset,sizeof(leftTimeout));40 42 unsigned int leftTimeout; 43 memcpy(&leftTimeout, buffer + leftTimeoutOffset, sizeof(leftTimeout)); 44 return leftTimeout; 41 45 } 42 46 43 47 unsigned int RumbleMessage::GetRightForce() const { 44 45 memcpy(&rightForce,buffer+rightForceOffset,sizeof(rightForce));46 48 unsigned int rightForce; 49 memcpy(&rightForce, buffer + rightForceOffset, sizeof(rightForce)); 50 return rightForce; 47 51 } 48 52 49 53 unsigned int RumbleMessage::GetRightTimeout() const { 50 51 memcpy(&rightTimeout,buffer+rightTimeoutOffset,sizeof(rightTimeout));52 54 unsigned int rightTimeout; 55 memcpy(&rightTimeout, buffer + rightTimeoutOffset, sizeof(rightTimeout)); 56 return rightTimeout; 53 57 } 54 58 55 59 void RumbleMessage::SetLeftForce(unsigned int leftForce) { 56 memcpy(buffer+leftForceOffset,&leftForce,sizeof(leftForce));60 memcpy(buffer + leftForceOffset, &leftForce, sizeof(leftForce)); 57 61 } 58 62 59 63 void RumbleMessage::SetLeftTimeout(unsigned int leftTimeout) { 60 memcpy(buffer+leftTimeoutOffset,&leftTimeout,sizeof(leftTimeout));64 memcpy(buffer + leftTimeoutOffset, &leftTimeout, sizeof(leftTimeout)); 61 65 } 62 66 63 67 void RumbleMessage::SetRightForce(unsigned int rightForce) { 64 memcpy(buffer+rightForceOffset,&rightForce,sizeof(rightForce));68 memcpy(buffer + rightForceOffset, &rightForce, sizeof(rightForce)); 65 69 } 66 70 67 void RumbleMessage::SetRightTimeout(unsigned int rightTimeout) {68 memcpy(buffer+rightTimeoutOffset,&rightTimeout,sizeof(rightTimeout));71 void RumbleMessage::SetRightTimeout(unsigned int rightTimeout) { 72 memcpy(buffer + rightTimeoutOffset, &rightTimeout, sizeof(rightTimeout)); 69 73 } 70 74 71 SwitchLedMessage::SwitchLedMessage(bool isOn, unsigned int ledId):Message(sizeof(ControllerAction)+sizeof(isOn)+sizeof(ledId)) { 72 if (isOn) SetOn(); else SetOff(); 73 SetLedId(ledId); 75 SwitchLedMessage::SwitchLedMessage(bool isOn, unsigned int ledId) 76 : Message(sizeof(ControllerAction) + sizeof(isOn) + sizeof(ledId)) { 77 if (isOn) 78 SetOn(); 79 else 80 SetOff(); 81 SetLedId(ledId); 74 82 } 75 83 76 84 bool SwitchLedMessage::IsOn() const { 77 78 memcpy(&isOn,buffer+isOnOffset,sizeof(isOn));79 85 bool isOn; 86 memcpy(&isOn, buffer + isOnOffset, sizeof(isOn)); 87 return isOn; 80 88 } 81 89 82 90 unsigned int SwitchLedMessage::GetLedId() const { 83 84 memcpy(&ledId,buffer+ledIdOffset,sizeof(ledId));85 91 unsigned int ledId; 92 memcpy(&ledId, buffer + ledIdOffset, sizeof(ledId)); 93 return ledId; 86 94 } 87 95 88 96 void SwitchLedMessage::SetOn() { 89 bool isOn=true;90 memcpy(buffer+isOnOffset,&isOn,sizeof(isOn));97 bool isOn = true; 98 memcpy(buffer + isOnOffset, &isOn, sizeof(isOn)); 91 99 } 92 100 93 101 void SwitchLedMessage::SetOff() { 94 bool isOn=false;95 memcpy(buffer+isOnOffset,&isOn,sizeof(isOn));102 bool isOn = false; 103 memcpy(buffer + isOnOffset, &isOn, sizeof(isOn)); 96 104 } 97 105 98 106 void SwitchLedMessage::SetLedId(unsigned int ledId) { 99 memcpy(buffer+ledIdOffset,&ledId,sizeof(ledId));107 memcpy(buffer + ledIdOffset, &ledId, sizeof(ledId)); 100 108 } 101 109 102 FlashLedMessage::FlashLedMessage(unsigned int ledId,unsigned int onTime,unsigned int offTime):Message(sizeof(ControllerAction)+sizeof(ledId)+sizeof(onTime)+sizeof(offTime)) { 103 SetLedId(ledId); 104 SetOnTime(onTime); 105 SetOffTime(offTime); 110 FlashLedMessage::FlashLedMessage(unsigned int ledId, unsigned int onTime, 111 unsigned int offTime) 112 : Message(sizeof(ControllerAction) + sizeof(ledId) + sizeof(onTime) + 113 sizeof(offTime)) { 114 SetLedId(ledId); 115 SetOnTime(onTime); 116 SetOffTime(offTime); 106 117 } 107 118 108 119 unsigned int FlashLedMessage::GetLedId() const { 109 110 memcpy(&ledId,buffer+ledIdOffset,sizeof(ledId));111 120 unsigned int ledId; 121 memcpy(&ledId, buffer + ledIdOffset, sizeof(ledId)); 122 return ledId; 112 123 } 113 124 114 125 unsigned int FlashLedMessage::GetOnTime() const { 115 116 memcpy(&onTime,buffer+onTimeOffset,sizeof(onTime));117 126 unsigned int onTime; 127 memcpy(&onTime, buffer + onTimeOffset, sizeof(onTime)); 128 return onTime; 118 129 } 119 130 120 131 unsigned int FlashLedMessage::GetOffTime() const { 121 122 memcpy(&offTime,buffer+offTimeOffset,sizeof(offTime));123 132 unsigned int offTime; 133 memcpy(&offTime, buffer + offTimeOffset, sizeof(offTime)); 134 return offTime; 124 135 } 125 136 126 137 void FlashLedMessage::SetLedId(unsigned int ledId) { 127 memcpy(buffer+ledIdOffset,&ledId,sizeof(ledId));138 memcpy(buffer + ledIdOffset, &ledId, sizeof(ledId)); 128 139 } 129 140 130 141 void FlashLedMessage::SetOnTime(unsigned int onTime) { 131 memcpy(buffer+onTimeOffset,&onTime,sizeof(onTime));142 memcpy(buffer + onTimeOffset, &onTime, sizeof(onTime)); 132 143 } 133 144 134 145 void FlashLedMessage::SetOffTime(unsigned int offTime) { 135 memcpy(buffer+offTimeOffset,&offTime,sizeof(offTime));146 memcpy(buffer + offTimeOffset, &offTime, sizeof(offTime)); 136 147 } 137 148
Note:
See TracChangeset
for help on using the changeset viewer.