-
Notifications
You must be signed in to change notification settings - Fork 27
Awesome features overview
Rémi Bèges edited this page Apr 8, 2016
·
3 revisions
We believe the combination of:
-
Pytelemetry
-
Telemetry
(Mbed, Arduino, or any platform really) - and eventually the almighty command line interface
Pytelemetrycli
is awesome for enabling your next-communication based project with an embedded device.
But why should you believe us ? Here is a non-exhaustive list.
#include "telemetry/Telemetry.hpp"
int main()
{
Telemetry TM;
for( ; ; )
{
TM.pub("someTopic","Hello, World !");
}
}
:> serial com20
Connected to com20 at [9600] bauds.
:> ls
someTopic
:> print someTopic
Hello, World !
:> print someTopic --amount 3
Hello, World !
Hello, World !
Hello, World !
#include "telemetry/Telemetry.hpp"
int main()
{
Telemetry TM;
int8_t i;
uint16_t j;
float f;
for( ; ; )
{
i++; j = i * 10; f = i / 100.0;
TM.pub_i8("foo",i);
TM.pub_u16("bar",j);
TM.pub_f32("qux",f);
// also i16, i32, u16, u32, etc...
}
}
#include "telemetry/Telemetry.hpp"
int main()
{
Telemetry TM;
float myarray[5] = {0.1, 0.5, -0.45, 0.9, -1.3};
for( ; ; )
{
TM.pub_f32("foo:0",myarray[0]);
TM.pub_f32("foo:1",myarray[1]);
TM.pub_f32("foo:2",myarray[2]);
TM.pub_f32("foo:3",myarray[3]);
TM.pub_f32("foo:4",myarray[4]);
}
}
#include "telemetry/Telemetry.hpp"
int main()
{
Telemetry TM;
int8_t myParameter;
TM.attach_i8_to("foo", &myParameter); // myParameter will be updated on new int8 data received under "foo"
for( ; ; )
{
TM.update();
}
}
:> serial com20
Connected to com20 at [9600] bauds.
:> pub anyTopicwhatever 3 --i8
from pytelemetry import Pytelemetry
from pytelemetry.transports.serialtransport import *
transport = SerialTransport()
tlm = Pytelemetry(transport)
transport.connect({'port': 'com20', 'baudrate': 9600})
tlm.publish('sometopicWhatever',4,'int8')
transport.disconnect()
- a ultra-portable library, written in pure C (with C++ bindings for Mbed and Arduino)
- an extremely well tested library, with unit and integration tests.
- supporting ARM Mbed and Arduino, which translates into 200+ different boards
- fully logged raw and undecoded data stream, that will enable later a live-replay of a session inside the CLI
- use of modern and powerful technologies such as Gradle for build and automation, Appveyor for Continuous Integration and testing
- replay / step-by-step / pause a logged session
- all repositories under continuous integration
- topics groups using topics-based syntax with slash character
foo/bar
,foo/qux
Back Wiki home
- Fast data visualization with the command line interface (todo)
- Fast prototyping remote program control with python (todo)
- Overview of the library
- Protocol description
- All the good stuff inside Telemetry
- List of supported platforms
- Good practices (Must-read !) in writing
- Frequently Asked Questions todo
- List of official examples
- List of projects using telemetry