thanks for the tip Radical Pi …we pulled up the old DriverstationLCD.cpp file, fixed a type mismatch in the .h file that gave a warning and rebuilt. All is well in the world again (or at least until another update comes out).
BC
thanks for the tip Radical Pi …we pulled up the old DriverstationLCD.cpp file, fixed a type mismatch in the .h file that gave a warning and rebuilt. All is well in the world again (or at least until another update comes out).
BC
The fix works but breaks the Camera. LCD is working great.
We had the same problem so we replaced each instance of kLineLength with 21 in WPiLib and recompiled WPiLib. Not an ideal solution but it works. We have to modify WPiLib anyway to fix other problems and to get it to calibrate the gyro and one of the accelerometers in parallel and added a method so we could get the gyro rate to support a closed loop “arc turn”.
I am still interested in seeing an example of how to use the Printf function to print to the dashboard user data so we can use the logging function since we are using the serial port for the jag CAN bus, not the driver station LCD. When we try to add the Printf output to the high or low priority dashboard packer we get errors in the DS display. I guess it’s time to bite the bullet and figure out exactly how the data structures are configured. Does anyone know if there is documentation on this besides looking at the DS labview code?
Thanks,
Greg
You can only use the Printf -OR- the Add* + Finalize functions… not both on the same packer at the same time (without calling Finalize and waiting for a new DS packet). To use the Printf, simply stop calling the other functions on that packer. Then on the Dashboard side, instead of calling “unpack from string” on the received string, and instead use the string as is and write it to a file or an indicator or whatever.
-Joe
You can only use the Printf -OR- the Add* + Finalize functions… not both on the same packer at the same time (without calling Finalize and waiting for a new DS packet). To use the Printf, simply stop calling the other functions on that packer. Then on the Dashboard side, instead of calling “unpack from string” on the received string, and instead use the string as is and write it to a file or an indicator or whatever.
Thanks Joe.
How do you wait for a new DS packet?
You can call IsNewControlData() on the DriverStation object.
Generally this shouldn’t be necessary for this use case since usually the dashboard is expecting one or the other… so your robot program should only be using one or the other.
The only case I can see where you would use this is if you would like to print one set of messages each time a packet goes out, then you could use this to tell when that happens.
-Joe