예제 #1
0
def mk_readable_msg(msg):
  """
  Produces a unit test case from a parsed SBP message. The case
  includes the raw output, the SBP message with unparsed payload, and
  the parsed SBP message

  Parameters
  ----------
  msg : Subclass of :class: `SBP`.
    Parsed SBP message.
  keys : list
    List of keys to remove from the rendered

  Returns
  ----------
  A dict formatted for a unit test case.

  """
  f = walk_json_dict(dict([(k, getattr(msg, k)) for k in msg.__slots__]))
  # Message includes fields from the SBP message it inherits from, so
  # remove those.
  i = {'raw_packet' : base64.standard_b64encode(msg.pack()),
       'raw_json'   : msg.to_json(),
       'msg_type'   : hex(msg.msg_type),
       'sbp'        : _to_readable_dict(msg),
       'msg'        : { 'module' : msg.__class__.__module__,
                        'name' : msg.__class__.__name__,
                        'fields' : f if f else None}}
  return i
예제 #2
0
파일: piksi.py 프로젝트: yxftju/libsbp
  def to_json(self):
    """Produce a JSON-encoded SBP message.

    """
    d = super( MsgIarState, self).to_json_dict()
    j = walk_json_dict(exclude_fields(self))
    d.update(j)
    return json.dumps(d)
예제 #3
0
 def _process_tracking(self, host_offset, host_time, msg):
   if type(msg) is tr.MsgTrackingState:
     m = exclude_fields(msg)
     # Flatten a bit: reindex at the top level by prn and remove the
     # 'states' field from the message.
     for s in msg.states:
       m[s.prn] = walk_json_dict(s)
       m[s.prn].update({'host_offset': host_offset,
                        'host_time': host_time})
     del m['states']
     self.rover_tracking[host_offset] = m
예제 #4
0
 def _process_uart_state(self, host_offset, host_time, msg):
   if type(msg) is piksi.MsgUartState:
     m = exclude_fields(msg)
     for i in ['uart_a', 'uart_b' ,'uart_ftdi']:
       n = walk_json_dict(m[i])
       n['host_offset'] = host_offset
       n['host_time'] = host_time
       # Normalize to percentage from 255.
       n['rx_buffer_level'] = m[i]['rx_buffer_level'] / 255.
       n['tx_buffer_level'] = m[i]['tx_buffer_level'] / 255.
       if i in self.rover_uart_state:
         self.rover_uart_state[i].update({host_offset: n})
       else:
         self.rover_uart_state[i] = {host_offset: n}
     l = walk_json_dict(m['latency'])
     l['host_offset'] = host_offset
     l['host_time'] = host_time
     if 'latency' in self.rover_uart_state:
       self.rover_uart_state['latency'].update({host_offset: l})
     else:
       self.rover_uart_state['latency'] = {host_offset: l}
예제 #5
0
 def _process_tracking(self, host_offset, host_time, msg):
   if type(msg) in [tr.MsgTrackingState, tr.MsgTrackingStateDepA]:
     m = exclude_fields(msg)
     # Flatten a bit: reindex at the top level by prn and remove the
     # 'states' field from the message.
     for s in msg.states:
       d = walk_json_dict(s)
       prn = s.sid if msg.msg_type is tr.SBP_MSG_TRACKING_STATE else s.prn
       d['host_offset'] = host_offset
       d['host_time'] = host_time
       if prn in self.rover_tracking:
         self.rover_tracking[prn].update({host_offset: d})
       else:
         self.rover_tracking[prn] = {host_offset: d}
     del m['states']
예제 #6
0
파일: ssr.py 프로젝트: swift-nav/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgSsrPhaseBiases, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #7
0
파일: piksi.py 프로젝트: wltr/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgNetworkStateResp, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #8
0
파일: system.py 프로젝트: swift-nav/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgCsacTelemetryLabels, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #9
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgSsrOrbitClock, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #10
0
파일: observation.py 프로젝트: axlan/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgEphemerisDepA, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #11
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgMaskSatellite, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #12
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgTrackingStateDetailedDep, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #13
0
파일: piksi.py 프로젝트: axlan/libsbp
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgMaskSatellite, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #14
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgBootloaderHandshakeDepA, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #15
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgNapDeviceDnaResp, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #16
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgBootloaderJumpToApp, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #17
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgM25FlashWriteStatus, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #18
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgMeasurementState, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #19
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgBootloaderJumpToApp, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #20
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgBootloaderHandshakeDepA, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #21
0
파일: piksi.py 프로젝트: axlan/libsbp
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgResetFilters, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #22
0
파일: flash.py 프로젝트: namhh/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgM25FlashWriteStatus, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #23
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgFileioWriteResp, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #24
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgTrackingIq, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #25
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgAcqResultDepB, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #26
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgCsacTelemetryLabels, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #27
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgAcqSvProfileDep, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #28
0
파일: piksi.py 프로젝트: SenteraLLC/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgCommandOutput, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #29
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgHeartbeat, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #30
0
파일: piksi.py 프로젝트: wltr/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgDeviceMonitor, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #31
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgSolnMetaDepA, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #32
0
파일: ssr.py 프로젝트: swift-nav/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgSsrOrbitClockDepA, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #33
0
파일: settings.py 프로젝트: wltr/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgSettingsRegister, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #34
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgDeviceMonitor, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #35
0
파일: file_io.py 프로젝트: swift-nav/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgFileioConfigResp, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #36
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgNapDeviceDnaResp, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #37
0
파일: flash.py 프로젝트: namhh/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgStmFlashUnlockSector, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #38
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgHeartbeat, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #39
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgSsrPhaseBiases, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #40
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgAcqSvProfile, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #41
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgBaselineHeading, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #42
0
파일: flash.py 프로젝트: namhh/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgFlashReadReq, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #43
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgOrientEuler, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #44
0
파일: flash.py 프로젝트: namhh/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgStmUniqueIdResp, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #45
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgSettingsReadByIndexReq, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #46
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgResetFilters, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #47
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgSettingsRegisterResp, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #48
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgMeasurementState, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #49
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgFlashErase, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #50
0
파일: observation.py 프로젝트: axlan/libsbp
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgBasePosECEF, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d
예제 #51
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgStmFlashUnlockSector, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #52
0
 def to_json_dict(self):
     self.to_binary()
     d = super(MsgStmUniqueIdResp, self).to_json_dict()
     j = walk_json_dict(exclude_fields(self))
     d.update(j)
     return d
예제 #53
0
 def to_json_dict(self):
   self.to_binary()
   d = super( MsgOrientEuler, self).to_json_dict()
   j = walk_json_dict(exclude_fields(self))
   d.update(j)
   return d