Example #1
0
 def __init__(self):
     self.__bus_nb = 2
     self.__addr_mg = 0x1e  # mag sensor
     self.__addr_ag = 0x6b  # accelero - gyro
     self.__dev_i2c_mg=i2c.i2c(self.__addr_mg,self.__bus_nb)
     self.__dev_i2c_ag=i2c.i2c(self.__addr_ag,self.__bus_nb)
     self.__mag_raw = [0.0,0.0,0.0]
     self.__accel_raw = [0.0,0.0,0.0]
     self.__gyro_raw = [0.0,0.0,0.0]
Example #2
0
 def __init__(self):
     self.__bus_nb = 2
     self.__addr_4_sonars = 0x21
     self.__addr_front_left = 0x070
     self.__addr_front_right = 0x072
     self.__dev_i2c_4_sonars = i2c.i2c(self.__addr_4_sonars, self.__bus_nb)
     self.__dev_i2c_front_left = i2c.i2c(self.__addr_front_left,
                                         self.__bus_nb)
     self.__dev_i2c_front_right = i2c.i2c(self.__addr_front_right,
                                          self.__bus_nb)
Example #3
0
    def __init__(self, ui, dbgio):
        self.ui = ui
        self.dbgio = dbgio
        self.device = vendor.get_device(self.ui, soc_name)
        self.dbgio.connect(self.device.cpu_info.name, "swd")
        self.cpu = cortexm.cortexm(self, ui, self.dbgio, self.device)
        self.device.bind_cpu(self.cpu)
        self.mem = mem.mem(self.cpu)
        self.flash = flash.flash(flash_driver.stm32f0xx(self.device), self.device, self.mem)
        gpio_drv = gpio_driver.drv(self.device, gpio_cfg)
        self.gpio = gpio.gpio(gpio_drv)
        self.i2c = i2c.i2c(i2c_driver.gpio(gpio_drv, "PB6", "PB7"))

        self.menu_root = (
            ("cpu", self.cpu.menu, "cpu functions"),
            ("da", self.cpu.cmd_disassemble, cortexm.help_disassemble),
            ("debugger", self.dbgio.menu, "debugger functions"),
            ("exit", self.cmd_exit),
            ("flash", self.flash.menu, "flash functions"),
            ("go", self.cpu.cmd_go),
            ("gpio", self.gpio.menu, "gpio functions"),
            ("halt", self.cpu.cmd_halt),
            ("help", self.ui.cmd_help),
            ("history", self.ui.cmd_history, cli.history_help),
            ("i2c", self.i2c.menu, "i2c functions"),
            ("map", self.device.cmd_map),
            ("mem", self.mem.menu, "memory functions"),
            ("program", self.flash.cmd_program, flash.help_program),
            ("regs", self.cmd_regs, soc.help_regs),
            ("vtable", self.cpu.cmd_vtable),
        )

        self.ui.cli.set_root(self.menu_root)
        self.set_prompt()
        self.dbgio.cmd_info(self.ui, None)
Example #4
0
    def __init__(self, serial=None, index=None):
        self.ftdic = ftdi.ftdi_context()
        self.ftdi = ftdi
        self.sensors = dict()
        self.hw_sw = dict()
        self.hw_sw["DC"] = nvouten
        self.hw_sw["SW0"] = sws[0]
        self.hw_sw["SW1"] = sws[1]
        self.hw_sw["ALERT"] = alert
        self.hw_sw["GPIO0"] = gpios[0]
        self.hw_sw["GPIO1"] = gpios[1]
        self.hw_sw["GPIO2"] = gpios[2]
        self.hw_sw["GPIO3"] = gpios[3]
        self.switches = dict()

        try:
            ret = ftdi.ftdi_init(self.ftdic)
            if ret < 0:
                raise Exception
            ret = ftdi.ftdi_usb_open_desc_index(self.ftdic, 0x0403, 0x06010, "PMC-17 v1.0", serial, index if index else 0)
            if ret < 0:
                raise Exception("Could not open device", ftdi.ftdi_get_error_string(self.ftdic))
            ret = ftdi.ftdi_set_interface(self.ftdic, ftdi.INTERFACE_A)
            if ret < 0:
                raise Exception
            self.hw = i2c_ftdi.i2c_ftdi(self.ftdic, scl, sda_out, sda_in, 400000, initial_output)
            self.i2c = i2c.i2c(self.hw)
        except Exception as e:
            ftdi.ftdi_deinit(self.ftdic)
            raise
Example #5
0
 def __init__(self, port = 1, addr=0x68):
         self.bus = i2c.i2c( addr)
         
         self.setPowerManagement(0x00)
         self.setSampleRateDivider(0x07)
         self.setDLPFAndFullScale(self.FullScale_2000_sec, self.DLPF_188_1)
         self.setInterrupt(self.IC_LatchUntilIntCleared, self.IC_IntOnDeviceReady, self.IC_IntOnDataReady)
Example #6
0
    def __init__(self, serial=None, index=None):
        self.ftdic = ftdi.ftdi_context()
        self.ftdi = ftdi
        self.sensors = dict()
        self.hw_sw = dict()
        self.hw_sw["DC"] = nvouten
        self.hw_sw["SW0"] = sws[0]
        self.hw_sw["SW1"] = sws[1]
        self.hw_sw["ALERT"] = alert
        self.hw_sw["GPIO0"] = gpios[0]
        self.hw_sw["GPIO1"] = gpios[1]
        self.hw_sw["GPIO2"] = gpios[2]
        self.hw_sw["GPIO3"] = gpios[3]
        self.switches = dict()

        try:
            ret = ftdi.ftdi_init(self.ftdic)
            if ret < 0:
                raise Exception
            ret = ftdi.ftdi_usb_open_desc_index(self.ftdic, 0x0403, 0x06010,
                                                "PMC-17 v1.0", serial,
                                                index if index else 0)
            if ret < 0:
                raise Exception("Could not open device",
                                ftdi.ftdi_get_error_string(self.ftdic))
            ret = ftdi.ftdi_set_interface(self.ftdic, ftdi.INTERFACE_A)
            if ret < 0:
                raise Exception
            self.hw = i2c_ftdi.i2c_ftdi(self.ftdic, scl, sda_out, sda_in,
                                        400000, initial_output)
            self.i2c = i2c.i2c(self.hw)
        except Exception as e:
            ftdi.ftdi_deinit(self.ftdic)
            raise
Example #7
0
  def __init__(self, ui, dbgio):
    self.ui = ui
    self.dbgio = dbgio
    self.device = vendor.get_device(self.ui, soc_name)
    self.dbgio.connect(self.device.cpu_info.name, 'swd')
    self.cpu = cortexm.cortexm(self, ui, self.dbgio, self.device)
    self.device.bind_cpu(self.cpu)
    self.mem = mem.mem(self.cpu)
    self.flash = flash.flash(flash_driver.stm32f0xx(self.device), self.device, self.mem)
    gpio_drv = (gpio_driver.drv(self.device, gpio_cfg))
    self.gpio = gpio.gpio(gpio_drv)
    self.i2c = i2c.i2c(i2c_driver.gpio(gpio_drv, 'PB6', 'PB7'))

    self.menu_root = (
      ('cpu', self.cpu.menu, 'cpu functions'),
      ('da', self.cpu.cmd_disassemble, cortexm.help_disassemble),
      ('debugger', self.dbgio.menu, 'debugger functions'),
      ('exit', self.cmd_exit),
      ('flash', self.flash.menu, 'flash functions'),
      ('go', self.cpu.cmd_go),
      ('gpio', self.gpio.menu, 'gpio functions'),
      ('halt', self.cpu.cmd_halt),
      ('help', self.ui.cmd_help),
      ('history', self.ui.cmd_history, cli.history_help),
      ('i2c', self.i2c.menu, 'i2c functions'),
      ('map', self.device.cmd_map),
      ('mem', self.mem.menu, 'memory functions'),
      ('program', self.flash.cmd_program, flash.help_program),
      ('regs', self.cmd_regs, soc.help_regs),
      ('vtable', self.cpu.cmd_vtable),
    )

    self.ui.cli.set_root(self.menu_root)
    self.set_prompt()
    self.dbgio.cmd_info(self.ui, None)
Example #8
0
 def __init__(self):
     self.__bus_nb = 2
     self.__addr_mg = 0x1e  # mag sensor
     self.__addr_ag = 0x6b  # accelero - gyro
     self.__dev_i2c_mg=i2c.i2c(self.__addr_mg,self.__bus_nb)
     self.__dev_i2c_ag=i2c.i2c(self.__addr_ag,self.__bus_nb)
     self.__mag_raw = [0.0,0.0,0.0]
     self.__accel_raw = [0.0,0.0,0.0]
     self.__gyro_raw = [0.0,0.0,0.0]
     #
     # configure mag sensor
     # CTRL_REG1 (0x20) = 0b01110000
     # OM = 11 (ultra-high-performance mode for X and Y);
     # DO = 100 (10 Hz ODR)
     self.__dev_i2c_mg.write(0x20,[0x70])
     # CTRL_REG2 (0x21) = 0b00000000
     # FS = 00 (+/- 4 gauss full scale)
     self.__dev_i2c_mg.write(0x21,[0x00])
     # CTRL_REG3 (0x22) = 0b00000000
     # MD = 00 (continuous-conversion mode)
     self.__dev_i2c_mg.write(0x22,[0x00])
     # CTRL_REG4 (0x23) = 0b00001100
     # OMZ = 11 (ultra-high-performance mode for Z)
     self.__dev_i2c_mg.write(0x23,[0x0C])
     #
     # configure accelero + gyro
     # LSM6DS33 gyro
     # CTRL2_G (0x11) = 0b10001100
     # ODR = 1000 (1.66 kHz (high performance))
     # FS_G = 11 (2000 dps)
     self.__dev_i2c_ag.write(0x11,[0x8C])
     #
     # CTRL7_G (0x16) = 0b00000000
     # defaults
     self.__dev_i2c_ag.write(0x16,[0x00])
     #
     # LSM6DS33 accelerometer
     # CTRL1_XL (0x10) = 0b10001100
     # ODR = 1000 (1.66 kHz (high performance))
     # FS_XL = 11 (8 g full scale)
     # BW_XL = 00 (400 Hz filter bandwidth)
     self.__dev_i2c_ag.write(0x10,[0x8C])
     #
     # common
     # CTRL3_C (0x12) 0b00000100
     # IF_INC = 1 (automatically increment address register)
     self.__dev_i2c_ag.write(0x12,[0x04])
Example #9
0
    def __init__(self, ui, dbgio):
        self.ui = ui
        self.dbgio = dbgio
        self.device = vendor.get_device(self.ui, soc_name)
        # add the 8MiB SDRAM
        self.device.insert(
            soc.make_peripheral('sdram', 0xc0000000, 8 << 20, None,
                                'external sdram'))
        self.dbgio.connect(self.device.cpu_info.name, 'swd')
        self.cpu = cortexm.cortexm(self, ui, self.dbgio, self.device)
        self.device.bind_cpu(self.cpu)
        self.mem = mem.mem(self.cpu)
        self.flash = flash.flash(flash_driver.sdrv(self.device), self.device,
                                 self.mem)
        gpio_drv = (gpio_driver.drv(self.device, gpio_cfg))
        self.gpio = gpio.gpio(gpio_drv)
        self.i2c1 = i2c.i2c(i2c_driver.bitbang(gpio_drv, 'PB8', 'PB9'))
        self.i2c3 = i2c.i2c(i2c_driver.bitbang(gpio_drv, 'PH7', 'PH8'))
        # setup the rtt client
        ram = self.device.sram
        self.rtt = rtt.rtt(self.cpu, mem.region('ram', ram.address, ram.size))

        self.menu_root = (
            ('cpu', self.cpu.menu, 'cpu functions'),
            ('da', self.cpu.cmd_disassemble, cortexm.help_disassemble),
            ('debugger', self.dbgio.menu, 'debugger functions'),
            ('exit', self.cmd_exit),
            ('flash', self.flash.menu, 'flash functions'),
            ('go', self.cpu.cmd_go),
            ('gpio', self.gpio.menu, 'gpio functions'),
            ('halt', self.cpu.cmd_halt),
            ('help', self.ui.cmd_help),
            ('history', self.ui.cmd_history, cli.history_help),
            ('i2c1', self.i2c1.menu, 'i2c1 functions'),
            ('i2c3', self.i2c3.menu, 'i2c3 functions'),
            ('map', self.device.cmd_map),
            ('mem', self.mem.menu, 'memory functions'),
            ('program', self.flash.cmd_program, flash.help_program),
            ('regs', self.cmd_regs, soc.help_regs),
            ('rtt', self.rtt.menu, 'rtt client functions'),
            ('vtable', self.cpu.cmd_vtable),
        )

        self.ui.cli.set_root(self.menu_root)
        self.set_prompt()
        self.dbgio.cmd_info(self.ui, None)
    def __init__(self, port, addr=0x68):
        self.bus = i2c.i2c(port, addr)

        self.setPowerManagement(0x00)
        self.setSampleRateDivider(0x07)
        self.setDLPFAndFullScale(self.FullScale_2000_sec, self.DLPF_188_1)
        self.setInterrupt(self.IC_LatchUntilIntCleared,
                          self.IC_IntOnDeviceReady, self.IC_IntOnDataReady)
Example #11
0
    def __init__(self, port, address = 0x77, mode = 3):
        self.bus = i2c.i2c( address)
        self.address = address

        # Make sure the specified mode is in the appropriate range
        if ((mode < 0) | (mode > 3)):
            self.mode = self.__BMP085_STANDARD
        else:
            self.mode = mode
            
        # Read the calibration data
        self.readCalibrationData()
Example #12
0
    def __init__(self, busnum=-1, debug=False):

        self.x = 0.00
        self.y = 0.00
        self.z = 0.00
        self.smooth_x = 0.00
        self.smooth_y = 0.00
        self.smooth_z = 0.00
        self.lastSensorReadings = []

        self.accel = i2c(self.ADXL345_ADDRESS, busnum, debug)

        if self.accel.readU8(self.ADXL345_REG_DEVID) == 0xE5:
            # Enable the accelerometer
            self.accel.write8(self.ADXL345_REG_POWER_CTL, 0x08)
Example #13
0
 def __init__(self):
     self.__bus_nb = 2
     self.__addr_4_sonars = 0x21
     self.__addr_front_left = 0x070
     self.__addr_front_right = 0x072
     self.__dev_i2c_4_sonars=i2c.i2c(self.__addr_4_sonars,self.__bus_nb)
     self.__dev_i2c_front_left=i2c.i2c(self.__addr_front_left,self.__bus_nb)
     self.__dev_i2c_front_right=i2c.i2c(self.__addr_front_right,self.__bus_nb)
     self.front = -1.0
     self.left = -1.0
     self.right = -1.0
     self.rear = -1.0
     self.diag_left = -1.0
     self.diag_right = -1.0
     self.diag_left_w = -1.0
     self.diag_right_w = -1.0
     # set default mode : 
     #self.period = 0x50  # 500 ms period 
     #self.period = 0x20  # 200 ms period 
     self.period = 0x10  # 100 ms period 
     #self.config = 0x65  # front sonar
     self.config = 0xFF  # all sonars
     self.__dev_i2c_4_sonars.write(0,[0, self.period])
     self.__dev_i2c_4_sonars.write(0,[0, self.config])
Example #14
0
    def __init__(self, port, addr=0x53):
        self.bus = i2c.i2c(port, addr)

        self.wakeUp()

        # Set defaults
        self.setScale()
        self.setTapThreshold()
        self.setTapDuration()
        self.setTapLatency()
        self.setTapWindow()
        self.setActivityThreshold()
        self.setInactivityThreshold()
        self.setInactivityTime()
        self.setFreeFallThreshold()
        self.setFreeFallTime()
Example #15
0
 def __init__(self, port = 1, addr=0x53):
     self.bus = i2c.i2c(addr)
     
     self.wakeUp();
     
     # Set defaults
     self.setScale();
     self.setTapThreshold()
     self.setTapDuration()
     self.setTapLatency()
     self.setTapWindow()
     #self.setActivityThreshold()
     #self.setInactivityThreshold()
     self.setInactivityTime()
     self.setFreeFallThreshold()
     self.setFreeFallTime()
Example #16
0
    def __init__(self, ui, dbgio):
        self.ui = ui
        self.dbgio = dbgio
        self.device = vendor.get_device(self.ui, soc_name)
        self.dbgio.connect(self.device.cpu_info.name, 'swd')
        self.cpu = cortexm.cortexm(self, ui, self.dbgio, self.device)
        self.device.bind_cpu(self.cpu)
        self.mem = mem.mem(self.cpu)
        self.flash = flash.flash(flash_driver.sdrv(self.device), self.device,
                                 self.mem)
        gpio_drv = (gpio_driver.drv(self.device, gpio_cfg))
        self.gpio = gpio.gpio(gpio_drv)
        self.i2c = i2c.i2c(i2c_driver.gpio(gpio_drv, 'PB6', 'PB9'))
        self.dac = dac.cs43l22(self.i2c, 0x94, self.dac_reset)
        # setup the rtt client
        ram = self.device.sram
        self.rtt = rtt.rtt(self.cpu, mem.region('ram', ram.address, ram.size))
        # setup the gdb server
        self.gdb = gdb.gdb(self.cpu)

        self.menu_root = (
            ('cpu', self.cpu.menu, 'cpu functions'),
            ('da', self.cpu.cmd_disassemble, cortexm.help_disassemble),
            ('dac', self.dac.menu, 'dac functions'),
            ('debugger', self.dbgio.menu, 'debugger functions'),
            ('exit', self.cmd_exit),
            ('flash', self.flash.menu, 'flash functions'),
            ('gdb', self.gdb.run),
            ('go', self.cpu.cmd_go),
            ('gpio', self.gpio.menu, 'gpio functions'),
            ('halt', self.cpu.cmd_halt),
            ('help', self.ui.cmd_help),
            ('history', self.ui.cmd_history, cli.history_help),
            ('i2c', self.i2c.menu, 'i2c functions'),
            ('map', self.device.cmd_map),
            ('mem', self.mem.menu, 'memory functions'),
            ('program', self.flash.cmd_program, flash.help_program),
            ('regs', self.cmd_regs, soc.help_regs),
            ('rtt', self.rtt.menu, 'rtt client functions'),
            ('vtable', self.cpu.cmd_vtable),
        )

        self.ui.cli.set_root(self.menu_root)
        self.set_prompt()
        self.dbgio.cmd_info(self.ui, None)
Example #17
0
  def __init__(self, ui, dbgio):
    self.ui = ui
    self.dbgio = dbgio
    self.device = vendor.get_device(self.ui, soc_name)
    self.dbgio.connect(self.device.cpu_info.name, 'swd')
    self.cpu = cortexm.cortexm(self, ui, self.dbgio, self.device)
    self.device.bind_cpu(self.cpu)
    self.mem = mem.mem(self.cpu)
    self.flash = flash.flash(flash_driver.sdrv(self.device), self.device, self.mem)
    gpio_drv = (gpio_driver.drv(self.device, gpio_cfg))
    self.gpio = gpio.gpio(gpio_drv)
    self.i2c = i2c.i2c(i2c_driver.gpio(gpio_drv, 'PB6', 'PB9'))
    self.dac = dac.cs43l22(self.i2c, 0x94, self.dac_reset)
    # setup the rtt client
    ram = self.device.sram
    self.rtt = rtt.rtt(self.cpu, mem.region('ram', ram.address, ram.size))
    # setup the gdb server
    self.gdb = gdb.gdb(self.cpu)

    self.menu_root = (
      ('cpu', self.cpu.menu, 'cpu functions'),
      ('da', self.cpu.cmd_disassemble, cortexm.help_disassemble),
      ('dac', self.dac.menu, 'dac functions'),
      ('debugger', self.dbgio.menu, 'debugger functions'),
      ('exit', self.cmd_exit),
      ('flash', self.flash.menu, 'flash functions'),
      ('gdb', self.gdb.run),
      ('go', self.cpu.cmd_go),
      ('gpio', self.gpio.menu, 'gpio functions'),
      ('halt', self.cpu.cmd_halt),
      ('help', self.ui.cmd_help),
      ('history', self.ui.cmd_history, cli.history_help),
      ('i2c', self.i2c.menu, 'i2c functions'),
      ('map', self.device.cmd_map),
      ('mem', self.mem.menu, 'memory functions'),
      ('program', self.flash.cmd_program, flash.help_program),
      ('regs', self.cmd_regs, soc.help_regs),
      ('rtt', self.rtt.menu, 'rtt client functions'),
      ('vtable', self.cpu.cmd_vtable),
    )

    self.ui.cli.set_root(self.menu_root)
    self.set_prompt()
    self.dbgio.cmd_info(self.ui, None)
Example #18
0
 def __init__(self, bus, addr=0x49):
     self.addr = addr
     self.i2c = i2c(bus, addr)
Example #19
0
 def __init__(self, bus, addr=0x58):
     self.addr = addr
     self.i2c = i2c(bus=bus, addr=addr)
     self.cache = {}
Example #20
0
 def __init__(self):
     self.__bus_nb = 2
     self.__addr = 0x14
     self.__dev_i2c = i2c.i2c(self.__addr, self.__bus_nb)
 def __init__(self):
     self.ToF = i2c(0x29, 0x01)
Example #22
0
 def __init__(self, bus_nb = 2, addr = 0x14):
     self.__bus_nb = 2
     self.__addr = 0x14 
     self.__dev_i2c=i2c.i2c(self.__addr,self.__bus_nb)
     self.enc_left = -1
     self.enc_right = -1
Example #23
0
 def __init__(self, bus, addr=0x68):
     self.i2cbase = i2c(
         bus=bus, addr=addr)  # The base address is for talking to master
     self.i2cbus = i2c(
         bus=bus, addr=addr + 1
     )  # The bus address is for talking to selected slave, via the master
Example #24
0
 def __init__(self, bus_nb=2, addr=0x14):
     self.__bus_nb = 2
     self.__addr = 0x14
     self.__dev_i2c = i2c.i2c(self.__addr, self.__bus_nb)
     self.enc_left = -1
     self.enc_right = -1
Example #25
0
 def __init__(self, port = 1 , address = HMC5883L_DEFAULT_ADDRESS):
     self.bus = i2c.i2c(address)
     self.address = address
     self.initialize()
Example #26
0
 def __init__(self, bus, addr=0x48):
     self.addr = addr
     self.i2c = i2c(bus=bus, addr=addr)
     self.cache = None  # cached control registers
Example #27
0
 def __init__(self):
     self.__bus_nb = 2
     self.__addr = 0x14 
     self.__dev_i2c=i2c.i2c(self.__addr,self.__bus_nb)