![]() |
pynetworktables: python wrappers for NetworkTables
The RobotPy project has a new github repo that contains SIP-based python wrappers for NetworkTables that will work on your PC. Currently only the server (robot) side of the wrappers work, but in theory the client side should work with a bit of patching. I won't be able to work on fixing that until next week.
https://github.com/robotpy/pynetworktables Feedback and patches welcome. |
Re: pynetworktables: python wrappers for NetworkTables
Ok, found the client bug in WPILib. The python wrappers now will do server and client mode, and there are samples included with the source code that demonstrate this functionality.
For the bug, see http://firstforge.wpi.edu/sf/go/artf...3589813396 74 . |
Re: pynetworktables: python wrappers for NetworkTables
Quote:
I ask because I was thinking about using SimpleCV for vision and it would make life much easier. |
Re: pynetworktables: python wrappers for NetworkTables
Quote:
|
Re: pynetworktables: python wrappers for NetworkTables
Use the following commands to build pynetworktables. Do the following on
Windows: set ROBOTPY=c:\path\to\robotpy\src What do you mean by src Why is this different than the unix version? |
Re: pynetworktables: python wrappers for NetworkTables
Quote:
Read it out loud. It is not meant to be a literal path. It is the path to the robotpy source directory. It is different from the unix one by accident. |
Re: pynetworktables: python wrappers for NetworkTables
I did read it out loud being different is what confused me. Thanks I got it.
|
Re: pynetworktables: python wrappers for NetworkTables
Quote:
|
Re: pynetworktables: python wrappers for NetworkTables
Rookie team here, very confused.
First, is this necessary to use SmartDashboard from Python? Second, RobotPy has a simple installable on firstforge which we used. Is there something comparable for this pynetworktables, or do I need to build from scratch? Third, if I do have to build it, do I need to build+install robotpy from source too, or does the pynetworktables build process give me something I add on to my robotpy install? Thanks! |
Re: pynetworktables: python wrappers for NetworkTables
This allows you to use NetworkTables/SmartDashboard from python on your PC. This code does not run on the Robot.
This code would be useful if you had something on your driver station or programming laptop that wanted to communicate with your robot code via NetworkTables, or if you were running unit tests on your PC (using fake-wpilib) that use SmartDashboard. There currently are no binary distributions of pynetworktables, so if you wanted to use it, then you would need to compile it yourself. |
Re: pynetworktables: python wrappers for NetworkTables
Ah, so smart dashboard should work from stock robotpy without modification? ... then I have some debugging to do... :-)
Thanks! |
Re: pynetworktables: python wrappers for NetworkTables
I am trying to build the network tables using the instructions on a ODROID-U2 ubuntu - linaro 12.3
linaro@linaro-ubuntu-desktop:~/pynetworktables$ ROBOTPY="/home/linaro/robotpy/" python setup.py build running build running build_ext building 'pynetworktables' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablescmodule.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablescmodule.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesEntryValue.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesEntryValue.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesSmartDashboard.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesSmartDashboard.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesSendableChooser.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesSendableChooser.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesNamedSendable.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesNamedSendable.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesSendable.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesSendable.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesWriteManager.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesWriteManager.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesTransactionDirtier.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesTransactionDirtier.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesOutgoingEntryReceiver_NULL_t.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesOutgoingEntryReceiver_NULL_t.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesNetworkTableEntry.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesNetworkTableEntry.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesOutgoingEntryReceiver.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesOutgoingEntryReceiver.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesTableListenerManager.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesTableListenerManager.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesStringArray.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesStringArray.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesNumberArray.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesNumberArray.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesNetworkTableEntryTypeManager.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesNetworkTableEntryTypeManager.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesNetworkTableEntryType.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesNetworkTableEntryType.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesBooleanArray.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesBooleanArray.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesArrayEntryType.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesArrayEntryType.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesComplexEntryType.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesComplexEntryType.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesArrayData.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesArrayData.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesComplexData.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesComplexData.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesPeriodicNTThread.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesPeriodicNTThread.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesNTThread.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesNTThread.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/linaro/pynetworktables/src -I/home/linaro/pynetworktables/sip -I/home/linaro/robotpy/Packages/wpilib -I/home/linaro/robotpy/Packages/wpilib/WPILib -I/usr/include/python2.7 -I/usr/include/python2.7 -c build/temp.linux-armv7l-2.7/sippynetworktablesDefaultThreadManager.cpp -o build/temp.linux-armv7l-2.7/build/temp.linux-armv7l-2.7/sippynetworktablesDefaultThreadManager.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] /home/linaro/robotpy/Packages/wpilib/WPILib/networktables2/thread/DefaultThreadManager.h: In member function ‘virtual NTThread* sipDefaultThreadManager::newBlockingPeriodicThread (PeriodicRunnable*, const char*)’: /home/linaro/robotpy/Packages/wpilib/WPILib/networktables2/thread/DefaultThreadManager.h:23:20: error: ‘virtual NTThread* DefaultThreadManager::newBlockingPeriodicThread(Pe riodicRunnable*, const char*)’ is private build/temp.linux-armv7l-2.7/sippynetworktablesDefaultThreadManager.cpp:68:69: error: within this context /home/linaro/robotpy/Packages/wpilib/WPILib/networktables2/thread/DefaultThreadManager.h: In function ‘PyObject* meth_DefaultThreadManager_newBlockingPeriodicThrea d(PyObject*, PyObject*)’: /home/linaro/robotpy/Packages/wpilib/WPILib/networktables2/thread/DefaultThreadManager.h:23:20: error: ‘virtual NTThread* DefaultThreadManager::newBlockingPeriodicThread(Pe riodicRunnable*, const char*)’ is private build/temp.linux-armv7l-2.7/sippynetworktablesDefaultThreadManager.cpp:95:100: error: within this context /home/linaro/robotpy/Packages/wpilib/WPILib/networktables2/thread/DefaultThreadManager.h:23:20: error: ‘virtual NTThread* DefaultThreadManager::newBlockingPeriodicThread(Pe riodicRunnable*, const char*)’ is private build/temp.linux-armv7l-2.7/sippynetworktablesDefaultThreadManager.cpp:95:143: error: within this context error: command 'gcc' failed with exit status 1 linaro@linaro-ubuntu-desktop:~/pynetworktables$ Any Ideas? Thanks, Paul Davis :( |
Re: pynetworktables: python wrappers for NetworkTables
You need the current git head of RobotPy to compile pynetworktables. RobotPy uses git submodules now, and if you don't check it out correctly then pynetworktables will not compile for you.
Code:
git clone https://github.com/robotpy/robotpy.git robotpy |
Re: pynetworktables: python wrappers for NetworkTables
That explains allot. Thanks
|
Re: pynetworktables: python wrappers for NetworkTables
Quote:
|
| All times are GMT -5. The time now is 17:18. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi