Dependencies: ros_lib_kinetic
Diff: LLComms.cpp
- Revision:
- 29:10a5cf37a875
- Parent:
- 27:6853ee8ffefd
- Child:
- 33:9877ca32e43c
--- a/LLComms.cpp Wed Feb 06 16:10:18 2019 +0000 +++ b/LLComms.cpp Fri Feb 08 18:36:15 2019 +0000 @@ -40,7 +40,9 @@ *cs_LL[i] = 1; *cs_ADC[i] = 1; // Initialise pressures/positions + pressureSensor_uint[i] = 0.0; pressureSensor_bar[i] = -1.0; + positionSensor_uint[i] = 0.0; positionSensor_mm[i] = -1.0; } pinReset = 1; // Initialise reset pin to not reset the controllers. @@ -98,7 +100,6 @@ bool boolParity = !(bool)(count%2); intMsg = intMsg<<1; intMsg = intMsg | (int)boolParity; - //printf("%i \t %i \t %i \t %i \t %i \r\n",type,intValue,intCheckSum,boolParity,intMsg); return intMsg; } @@ -155,9 +156,6 @@ // Construct messages unsigned int intPositionMsg = formatMessage(0,demandPosition_mm[channel],MAX_ACTUATOR_LIMIT_MM); unsigned int intVelocityMsg = formatMessage(1,demandSpeed_mmps[channel],MAX_SPEED_MMPS); - //unsigned int intPositionMsg = formatMessage(0,demandPosition_mm[channel],MAX_ACTUATOR_LIMIT_MM); - //unsigned int intPositionMsg = formatMessage(0,20.0,MAX_ACTUATOR_LIMIT_MM); - //unsigned int intVelocityMsg = formatMessage(1,4.0,MAX_SPEED_MMPS); *cs_LL[channel] = 0; // Select relevant chip unsigned int outboundMsgs[2] = { intPositionMsg , intVelocityMsg }; @@ -171,11 +169,12 @@ *cs_LL[channel] = 1; // Deselect chip if( isSPIsuccess ) { isDataReady[channel] = 0; // Data no longer ready, i.e. we now require new data + positionSensor_uint[channel] = inboundMsgsData[0]; positionSensor_mm[channel] = ((double)inboundMsgsData[0]/511) * (double)MAX_ACTUATOR_LENGTH_MM; positionSensor_mm[channel] = min( max(positionSensor_mm[channel],0.0) , (double)MAX_ACTUATOR_LENGTH_MM ); + pressureSensor_uint[channel] = inboundMsgsData[1]; pressureSensor_bar[channel] = ((double)inboundMsgsData[1]/511) * (double)MAX_PRESSURE_LIMIT; pressureSensor_bar[channel] = min( max(pressureSensor_bar[channel],0.0) , (double)MAX_PRESSURE_LIMIT ); - //printf("%.10f\t%.10f\n\r",positionSensor_mm[channel],pressureSensor_bar[channel]); } else { // Data is STILL ready and will be resent at the next pin interrupt //printf("SPI failed: %d%d. Resending.\n\r",isPositionValid,isPressureValid); }