| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The GPGGA string generation relies on TPV and SKY messages being
accurate, meaning they are a list of dictionaries. There have been cases
where this was inaccurate (an empty list was returned). MPM would show
errors as such:
[ERROR] [MPM.RPCServer] Uncaught exception in method get_mb_sensor :list
index out of range
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/usrp_mpm/rpc_server.py", line
184, in new_claimed_function
return function(*args)
File
"/usr/lib/python3.7/site-packages/usrp_mpm/periph_manager/base.py",
line 1000, in get_mb_sensor
self, self.mboard_sensor_callback_map.get(sensor_name)
File
"/usr/lib/python3.7/site-packages/usrp_mpm/gpsd_iface.py",
line 313, in get_gps_gpgga_sensor
tpv_sensor_data = gps_info.get('tpv', [{}])[0]
IndexError: list index out of range
This is a patch to check that the lists are not empty before directly
referencing index 0 therein.
|
|
|
|
|
|
| |
- There's a lengthy conversion of TPV/SKY dicts into GPGGA which is
removed from the class to enhance readability
- The file had some Pylint issues, including a Python2-ism
|
|
|
|
| |
The GPS sensors are pulled in via gpsd_iface.
|
|
|
|
|
| |
get_gps_info() can time out, or fail for other reasons. This adds some
checks to see if the return value is as expected.
|
|
|
|
|
|
| |
Add method to generate GPGGA sensor data in MPM devices. This needs to
be constructed from TPV and SKY sensor data, and matches the GPGGA
sensor functionality in gpsd_iface.cpp.
|
|
|
|
|
|
|
| |
gpsd connection is not reliable.
Adding more error handling to re-connect during polling.
Add control flows to get_gps_time in order to give an effect of getting
the value on pps edge.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Refactoring GPSd interface to be instead wrapped by a
GPSDIfaceExtension class. This class will faciliate "extending" an
object, allowing that object to call the GPSDIfaceExtension methods as
their own.
- New MPM devices (or whatever else) can now use the GPSDIfaceExtension
class instead of writing their own GPSDIface handling functions.
- N3XX now instantiates a GPSDIfaceExtension object, and extends
itself. This means that an n3xx object can call the `get_gps_time`
method as its own, for example.
- N3XX must get through initialization in order for the GPSd methods
to be registered.
|
|
|
|
|
| |
- Fix typo in company name (missing 'a')
- Updated SPDX license identifier to version 3.0
|
| |
|
|
|
|
| |
Now uses SPDX headers everywhere.
|
|
Adding GPS TPV and SKY sensors to MPM, and their respective getters.
Reviewed-By: Martin Braun <martin.braun@ettus.com>
|