Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Server config file
The remote and the server come with many configuration option to finetune your project. This documentation list configuration options for the server programs and the remotes.
The configurations can be loaded for server programs by using the
parameter. For example:
bin/servod --config /etc/dashee/servod.conf
An example of all possible values can be found at files/examples/servod.conf.
Command line options
--port <number>The port number.
-v[v]+The verbosity value.
--servo-name <filepath>The servo file path
--servo-type [1|2|3]The servo type to run
--config <filepath>The configuration file to load
The config file can take key value pairs represented in the format of
key='value'. The value can be of string represented by quotes or a number without any quotes. Certain values are strong typed. For example passing a string to
timeout='not valid' will not start the program. Values such as
key=my non quoted value can be used, but it is recommended to use quotes for strings and no quotes for numeric type values.
General config keys
Some general settings which represent the state of the server are defined here.
|timeout||Int||Number of seconds to wait for input before falling back to non-input functions such as autonomous functions or cut power. This is helpful for cars losing control.|
|timeoutM||Int||Same as timeout but represents the number in milliseconds. A combination of timeout and timeoutM may be used to represent fractional seconds. For example 1.5, 0.5, 1.999 or 0.100|
The server sits and listens on 2047 over UDP by default. This can be changed given the following options.
|port||Int||Allows to change the port the server is ran on, default is set to 2047|
|protocol||String||The type of server, UDP or TCP. By default we use UDP which is recommended but if you wish this can be changed.|
These sets of options are used to provide configuration interface to Servo controllers. One may employ many types of servo controller from different manufacturer. These options allow you to tweak your set up accordingly.
Using a servo controller that is not defined, Read our documentation about Hardware > Servo Controller. You can help us add one feel free to fork.
servo-type=3 server-name='./data/Servo.bin' servo-channel=6
|type||String||The number represents the type of devices which controls the servo, The only board we support this program supports at the moment is the Pololu Servo board, which can be connected over UART or USB. In addition for testing we support a Dummy board, which is represented by a file on the server. The values can be
|name||String||Is used for representing the file-path where the device lies. For UART this is usually
|channel||Int||This variable represents the number of channels a servo board represents. In some cases (like the Pololu Servo controller board) you can have different set of channels that our servod program can talk to. In these cases it is easier to add a value that will represent the number of channels that are available to communicate with. The program does not guarantee correct behaviour if an invalid channel number is accessed. For the Dummy type, the channel's must be 6 as the file only generates 6 channel dummy file.|
These sets of options are used to represent the state of the Vehicle on boot up. The following options are valid for all vehicle types.
vehicle-pitch=128 vehicle-roll=128 vehicle-yaw=128 vehicle-throttle=0 vehicle-pitch-fallback=128 vehicle-roll-fallback=128 vehicle-yaw-fallback=128 vehicle-throttle-fallback=0
||A string value which represent the type of vehicle the program represent, Currently we only support Car and MultiRotoarQuadX. More will be added soon. The value is defaulted to Car and is represented by a string.|
|pitch||Int||128||Sets the default values of the Pitch.|
|roll||Int||128||Sets the default values of the Roll.|
|yaw||Int||128||Sets the default values of the Yaw.|
|throttle||Int||0||Sets the default values of the Throttle.|
|pitch-fallback||Int||128||The fallback value of Pitch.|
|roll-fallback||Int||128||The fallback value of Pitch.|
|yaw-fallback||Int||128||The fallback value of Pitch.|
|throttle-fallback||Int||0||The fallback value of Pitch.|
It is helpful to allow configuring the servo number that represent the controls. **The following options are only valid if the
vehicle-type is set to
|yaw-motor||Int||0||The yaw represents the Steering in a car, and so the channel which represents the servo which controls the car can be represented here.|
|throttle-motor||Int||1||The channel at which the motor sits on can be configured using this value.|
Each quad copter type
+ has 4 motors
m4. The channel which the servo board represents each of these can be changed by using the following
vehicle-multirotor-quad-m1=0 vehicle-multirotor-quad-m2=1 vehicle-multirotor-quad-m3=2 vehicle-multirotor-quad-m4=3
|m1||Int||0||The first motor|
|m2||Int||0||The second motor|
|m3||Int||0||The third motor|
|m4||Int||0||The fourth motor|
##Other notes We support communication with the servo's using the Pololu Servo controller boards. Further documentation on these boards can be found at http://www.pololu.com/docs/0J40/all