|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools |
Rating:
|
Display Modes |
|
#8
|
|||
|
|||
|
Re: Black Jaguar RS232->CAN - anyone?
Quote:
You need to add new "case"s for kSpeed to InitJaguar, Set (and Get if you want). In Set, the case I added is: (set speed uses a 16.16 signed fixed point number) case kSpeed: messageID = LM_API_SPD_T_SET | m_deviceNumber; INT32 value32 = (INT32)(outputValue*65536.0 ); *((INT32*)dataBuffer) = swap32(value32); dataSize = sizeof(INT32); break; I also added a method to set the PID constants: /** * Set the Jaguar PID constants. * * The inputs are any floating point values * * @param outputValue The P I and D constants for the motor control. */ void CANJaguar::SetPIDConstants(float kp, float ki, float kd) { UINT32 messageID; UINT8 dataBuffer[8]; UINT8 dataSize; // Send Kp: switch(m_controlMode) { case kCurrent: messageID = LM_API_ICTRL_PC | m_deviceNumber; break; case kSpeed: messageID = LM_API_SPD_PC | m_deviceNumber; break; default: ; } INT32 value = (INT32)(kp*65536.0); *((INT32*)dataBuffer) = swap32(value); dataSize = sizeof(INT32); sendMessage(messageID, dataBuffer, dataSize); // Send Ki: switch(m_controlMode) { case kCurrent: messageID = LM_API_ICTRL_IC | m_deviceNumber; break; case kSpeed: messageID = LM_API_SPD_IC | m_deviceNumber; break; default: ; } value = (INT32)(ki*65536.0); *((INT32*)dataBuffer) = swap32(value); dataSize = sizeof(INT32); sendMessage(messageID, dataBuffer, dataSize); // Send Kd: switch(m_controlMode) { case kCurrent: messageID = LM_API_ICTRL_DC | m_deviceNumber; break; case kSpeed: messageID = LM_API_SPD_DC | m_deviceNumber; break; default: ; } value = (INT32)(kd*65536.0); *((INT32*)dataBuffer) = swap32(value); dataSize = sizeof(INT32); sendMessage(messageID, dataBuffer, dataSize); } Hope this helps. Have fun! - Kevin |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Serial to CAN Gateway in new Black Jaguars? | dmcguire3006 | Electrical | 54 | 26-01-2010 07:32 |
| Release Announcement for the MDL-BDC24 (Black Jaguar) | JDNovak | FRC Control System | 2 | 16-12-2009 18:13 |
| The Black Jaguar | David Doerr | FRC Control System | 5 | 25-11-2009 15:43 |
| Can I control a victor/jaguar with an RC receiver | Bruceb | Electrical | 3 | 30-12-2008 10:50 |
| Will ANYONE mess with the black balls? | archiver | 2001 | 0 | 23-06-2002 22:35 |