Rev 1240 | Rev 1243 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1240 | Rev 1242 | ||
|---|---|---|---|
| Line 224... | Line 224... | ||
| 224 | rxMsg->Header.ModuleId == act_softPWM_ID) |
224 | rxMsg->Header.ModuleId == act_softPWM_ID) |
| 225 | { |
225 | { |
| 226 | switch (rxMsg->Header.Command) |
226 | switch (rxMsg->Header.Command) |
| 227 | { |
227 | { |
| 228 | case CAN_MODULE_CMD_PHYSICAL_PWM: |
228 | case CAN_MODULE_CMD_PHYSICAL_PWM: |
| 229 | if (rxMsg->Length > 3) |
229 | if (rxMsg->Length >= 3) |
| 230 | { |
230 | { |
| 231 | if ((((uint16_t)rxMsg->Data[1])<8) + rxMsg->Data[2] > maxTimer) |
231 | if ((((uint16_t)rxMsg->Data[1])<8) + rxMsg->Data[2] > maxTimer) |
| 232 | { |
232 | { |
| 233 | rxMsg->Data[2] = maxTimer & 0x00ff; |
233 | rxMsg->Data[2] = maxTimer & 0x00ff; |
| 234 | rxMsg->Data[1] = (maxTimer>>8) & 0x00ff; |
234 | rxMsg->Data[1] = (maxTimer>>8) & 0x00ff; |
| 235 | } |
235 | } |
| 236 | pwmValue[rxMsg->Data[0]] = (((uint16_t)rxMsg->Data[1])<<8) + rxMsg->Data[2]; |
236 | pwmValue[rxMsg->Data[0]] = (((uint16_t)rxMsg->Data[1])<<8) + rxMsg->Data[2]; |
| 237 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
237 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
| 238 | rxMsg->Length = 3; |
238 | rxMsg->Length = 3; |
| 239 | StdCan_Put(rxMsg); |
239 | StdCan_Put(rxMsg); |
| 240 | } else if (rxMsg->Length > 1) { |
240 | } else if (rxMsg->Length >= 1) { |
| 241 | rxMsg->Data[2] = pwmValue[rxMsg->Data[0]] & 0x00ff; |
241 | rxMsg->Data[2] = pwmValue[rxMsg->Data[0]] & 0x00ff; |
| 242 | rxMsg->Data[1] = (pwmValue[rxMsg->Data[0]]>>8) & 0x00ff; |
242 | rxMsg->Data[1] = (pwmValue[rxMsg->Data[0]]>>8) & 0x00ff; |
| 243 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
243 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
| 244 | rxMsg->Length = 3; |
244 | rxMsg->Length = 3; |
| 245 | StdCan_Put(rxMsg); |
245 | StdCan_Put(rxMsg); |