Rev 1242 | Rev 1369 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1242 | Rev 1243 | ||
|---|---|---|---|
| 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 |
229 | if (rxMsg->Length == 2) |
| 230 | { |
230 | { |
| 231 | if ((((uint16_t)rxMsg->Data[1])<8) + rxMsg->Data[2] > maxTimer) |
- | |
| 232 | { |
- | |
| 233 | rxMsg->Data[2] = maxTimer & 0x00ff; |
- | |
| 234 | rxMsg->Data[1] = (maxTimer>>8) & 0x00ff; |
- | |
| 235 | } |
- | |
| 236 | pwmValue[rxMsg->Data[0]] = |
231 | pwmValue[rxMsg->Data[0]] = ((uint32_t)rxMsg->Data[1]*maxTimer)/255; |
| 237 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
232 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
| 238 | rxMsg->Length = |
233 | rxMsg->Length = 2; |
| 239 | StdCan_Put(rxMsg); |
234 | StdCan_Put(rxMsg); |
| 240 | } else if (rxMsg->Length |
235 | } else if (rxMsg->Length == 1) { |
| 241 | rxMsg->Data[2] = pwmValue[rxMsg->Data[0]] & 0x00ff; |
- | |
| 242 | rxMsg->Data[1] = (pwmValue[rxMsg->Data[0]] |
236 | rxMsg->Data[1] = (pwmValue[rxMsg->Data[0]]*255/maxTimer); |
| 243 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
237 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
| 244 | rxMsg->Length = |
238 | rxMsg->Length = 2; |
| 245 | StdCan_Put(rxMsg); |
239 | StdCan_Put(rxMsg); |
| 246 | } |
240 | } |
| 247 | break; |
241 | break; |
| 248 | case CAN_MODULE_CMD_SOFTPWM_CONFIG: |
242 | case CAN_MODULE_CMD_SOFTPWM_CONFIG: |
| 249 | maxTimer = (((uint16_t)rxMsg->Data[0])<<8) + rxMsg->Data[1]; |
243 | maxTimer = (((uint16_t)rxMsg->Data[0])<<8) + rxMsg->Data[1]; |