batbot_bringup.sonar package

Submodules

batbot_bringup.sonar.bb_emitter module

class batbot_bringup.sonar.bb_emitter.ECHO_SERIAL_CMD(*values)

Bases: Enum

ACK = 4
ACK_REQ = 3
CHIRP_DATA = 2
CHIRP_DATA_TOO_LONG = 6
CLEAR_SERIAL = 10
EMIT_CHIRP = 1
ERROR = 100
GET_MAX_UINT16_CHIRP_LEN = 7
NONE = 0
START_AMP = 8
STOP_AMP = 9
class batbot_bringup.sonar.bb_emitter.EchoEmitter(serial_obj: ~serial.serialposix.Serial = Serial<id=0x7fdabe614a00, open=False>(port=None, baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False), output_freq: int = 1000000.0)

Bases: object

chirp() bool
connect_Serial(serial: Serial)
connection_status(print_: bool = False) bool
convert_and_range_data(data: ndarray, gain: float = None, offset: float = None) uint16
disconnect_serial()
gen_chirp(f_start: int, f_end: int, t_end: int, method: str = 'linear', gain: float = None, offset=None) tuple[uint16, ndarray]
gen_sine(time_ms: uint16, freq: uint16, gain: float = None, offset=None) tuple[uint16, ndarray]
get_and_convert_numpy(file_name: str, gain: float = None, offset=None) uint16
get_cmd() ECHO_SERIAL_CMD
get_max_chirp_uint16_length() uint16
save_chirp_info(file_path: str) bool
upload_chirp(data: uint16 = None) bool
write_cmd(cmd: ECHO_SERIAL_CMD)
class batbot_bringup.sonar.bb_emitter.LAST_CHIRP_DATA(*values)

Bases: Enum

CUSTOM = 1
FILE = 0
NONE = 3
batbot_bringup.sonar.bb_emitter.hide_cursor()
batbot_bringup.sonar.bb_emitter.show_cursor()
class batbot_bringup.sonar.bb_emitter.t_colors

Bases: object

BOLD = '\x1b[1m'
ENDC = '\x1b[0m'
FAIL = '\x1b[91m'
HEADER = '\x1b[95m'
OKBLUE = '\x1b[94m'
OKCYAN = '\x1b[96m'
OKGREEN = '\x1b[92m'
UNDERLINE = '\x1b[4m'
WARNING = '\x1b[93m'

batbot_bringup.sonar.bb_listener module

Reads ADC values from the Teensy

class batbot_bringup.sonar.bb_listener.EchoRecorder(serial_obj: ~serial.serialposix.Serial = Serial<id=0x7fdabe147d00, open=False>(port=None, baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False), channel_burst_len: ~numpy.uint16 = 1000, left_channel_first=True, sample_freq: int = 1000000.0)

Bases: object

check_status() bool
connect_Serial(serial: Serial)
connection_status(print_: bool = False) bool
disconnect_serial()
get_cmd() LISTENER_SERIAL_CMD
listen(listen_time_ms: uint16) tuple[uint16, uint16, uint16]
Reads bytes from Teensy for given amount of listen time. This listen time

is calculated into number of bytes so deviation of time is not an issue. The raw_data is interleaved between left and right ear for ease of demodulating at the end.

Args:

listen_time_ms (np.uint16): time to listen for in ms

Returns:

tuple[np.uint16,np.uint16,np.uint16]: raw_data, left_ear, right_ear

write_cmd(cmd: LISTENER_SERIAL_CMD) None
class batbot_bringup.sonar.bb_listener.LISTENER_SERIAL_CMD(*values)

Bases: Enum

ACK = 4
ACK_REQ = 3
ERROR = 100
NONE = 0
START_LISTEN = 1
STOP_LISTEN = 2
class batbot_bringup.sonar.bb_listener.t_colors

Bases: object

BOLD = '\x1b[1m'
ENDC = '\x1b[0m'
FAIL = '\x1b[91m'
HEADER = '\x1b[95m'
OKBLUE = '\x1b[94m'
OKCYAN = '\x1b[96m'
OKGREEN = '\x1b[92m'
UNDERLINE = '\x1b[4m'
WARNING = '\x1b[93m'

Module contents