Laelaps  2.3.5
RoadNarrows Robotics Small Outdoor Mobile Robot Project
SysConf.py
Go to the documentation of this file.
1 #
2 # Module: Laelaps.SysConf
3 #
4 # Package: RoadNarrows Laelaps Robotic Mobile Platform Package
5 #
6 # Link: https://github.com/roadnarrows-robotics/laelaps
7 #
8 # File: SysConf.py
9 #
10 ## \file
11 ##
12 ## $LastChangedDate: 2016-02-02 13:47:13 -0700 (Tue, 02 Feb 2016) $
13 ## $Rev: 4293 $
14 ##
15 ## \brief Laelaps system configuration.
16 ##
17 ## \author: Robin Knight (robin.knight@roadnarrows.com)
18 ##
19 ## \par Copyright
20 ## \h_copy 2015-2017. RoadNarrows LLC.\n
21 ## http://www.roadnarrows.com\n
22 ## All Rights Reserved
23 #
24 # @EulaBegin@
25 #
26 # Permission is hereby granted, without written agreement and without
27 # license or royalty fees, to use, copy, modify, and distribute this
28 # software and its documentation for any purpose, provided that
29 # (1) The above copyright notice and the following two paragraphs
30 # appear in all copies of the source code and (2) redistributions
31 # including binaries reproduces these notices in the supporting
32 # documentation. Substantial modifications to this software may be
33 # copyrighted by their authors and need not follow the licensing terms
34 # described here, provided that the new terms are clearly indicated in
35 # all files where they apply.
36 #
37 # IN NO EVENT SHALL THE AUTHOR, ROADNARROWS LLC, OR ANY MEMBERS/EMPLOYEES
38 # OF ROADNARROW LLC OR DISTRIBUTORS OF THIS SOFTWARE BE LIABLE TO ANY
39 # PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
40 # DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
41 # EVEN IF THE AUTHORS OR ANY OF THE ABOVE PARTIES HAVE BEEN ADVISED OF
42 # THE POSSIBILITY OF SUCH DAMAGE.
43 #
44 # THE AUTHOR AND ROADNARROWS LLC SPECIFICALLY DISCLAIM ANY WARRANTIES,
45 # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
46 # FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN
47 # "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO
48 # PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
49 #
50 # @EulaEnd@
51 #
52 
53 """
54 Laelaps system configuration.
55 """
56 
57 import os
58 
59 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60 # Laelaps GPIO
61 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62 
63 """
64 The internal odroid GPIO pins are used to enable/disable/reset various hardware
65 subsystems. The exported numbers controll are found under /sys/class/gpio.
66 """
67 
68 ## Motor controller chip select (deprecated)
69 ##
70 ## States: 0 = select rear motor controller
71 ## 1 = select front motor controller
72 GpioMotorCtlrCs = 173
73 
74 
75 ## Motor controller enable.
76 ##
77 ## States: 0 = disable power to both motor controllers
78 ## 1 = enable power to both motor controllers
79 GpioMotorCtlrEn = 174
80 
81 ## Watchdog sub-processor reset.
82 ##
83 ## States: 1 to 0 = edge trigger to reset Arduino sub-processor.
84 GpioWdReset = 189
85 
86 ## I2C multiplexer reset.
87 ##
88 ## States: 1 to 0 = edge trigger to reset I2C multiplexer.
89 GpioI2CMuxReset = 190
90 
91 ## Top deck battery out enable.
92 ##
93 ## States: 0 = disable battery power out to top deck port.
94 ## 1 = enable battery power out to top deck port.
95 GpioDeckBattEn = 191
96 
97 ## Top deck regulated 5V out enable.
98 ##
99 ## States: 0 = disable 5V power out to top deck port.
100 ## 1 = enable 5V power out to top deck port.
101 GpioDeck5VEn = 192
102 
103 
104 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
105 # Laelaps Motor Controllers
106 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
107 
108 """
109 There are two motor controllers connected to a shared serial device (i.e. The
110 motor controllers are multi-dropped). Each motor controller has an unique 8-bit
111 address.
112 
113 For Laelaps, the front and rear motor controllers control the front and rear
114 two motors, respectively.
115 """
116 
117 MotorCtlrBoard = "RoboClaw" ## motor controller board
118 MotorCtlrFirmware = "Ion" ## motor controller firmware
119 MotorCtlrDevName = "/dev/ttySAC0" ## serial device name
120 MotorCtlrSymName = "/dev/motorctlrs" ## serial device symbolic linked name
121 MotorCtlrBaudRate = 115200 ## serial device baud rate
122 MotorCtlrAddrFront = 0x80 ## front motor controller address
123 MotorCtlrAddrRear = 0x81 ## rear motor controller address
124 
125 
126 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
127 # Laelaps IMU
128 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
129 
130 ImuBoard = "Naze32" ## IMU board
131 ImuFirmware = "CleanFlight" ## IMU firmware
132 ImuDevName = "/dev/ttyUSB0" ## IMU serial USB device name
133 ImuSymName = "/dev/imu" ## IMU serial USB symbolic linked name
134 ImuBaudRate = 115200 ## IMU serial baud rate
135 
136 
137 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
138 # Sensor I2C Bus
139 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
140 
141 SensorDevName = "/dev/i2c-3" ## Sensors device
142 SensorSymName = "/dev/i2c-sensors" ## Sensors symbolic linked name
143 
144 
145 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
146 # Time-of-Flight Sensors
147 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
148 
149 
150 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
151 # WatchDog Arduino Sub-Processor
152 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
153 
154 WdBoard = "Uno" ## Watchdog board
155 WdFirmware = "RoadNarrows" ## Watchdog firmware