• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Register
  • Login
ModalAI Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
    • Register
    • Login
    1. Home
    2. Filip Slezak
    3. Posts
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 12
    • Best 1
    • Controversial 0
    • Groups 0

    Posts made by Filip Slezak

    • RE: Communication through J18

      @Eric-Katzfey Hey, we already have this board on https://www.modalai.com/collections/expansion-board/products/m0078 - would that work?

      (and the PWM breakout board https://www.modalai.com/products/flight-core-pwm-output-cable-and-break-out-board)

      posted in Ask your questions right here!
      F
      Filip Slezak
      14 Jun 2023, 17:52
    • RE: Communication through J18

      @Eric-Katzfey Hi Eric, thanks for pointing this out. How would you go about establishing a serial communication with a Teensy or other microcontroller then?

      posted in Ask your questions right here!
      F
      Filip Slezak
      13 Jun 2023, 23:38
    • Communication through J18

      Hi, I'd like to communicate with a teensy from a Voxl2 through the serial channel on J18. Can you help me set this up?

      I tried UART first and then the I2C but I haven't figured this out. Here's my code

      import smbus
      
      # Open the I2C bus
      bus = smbus.SMBus(0)  # Use /dev/i2c-0
      
      # I2C device address
      address = 0x988000  # Replace with the actual I2C device address
      
      # Read lines of data from the I2C device
      while True:
          received_data = ""
          while True:
              byte = bus.read_byte(address)
              if byte == ord('\n'):  # Check for newline character
                  break
              received_data += chr(byte)
      
          # Process the received data
          print("Received line:", received_data)
      
      # Close the I2C bus
      bus.close()
      

      and the one I want to use on the teensy

      #include <Wire.h>
      
      #define I2C_ADDRESS 0x42  // Replace with the I2C device address
      
      void setup() {
        Wire.begin(); // Initialize I2C communication
        Serial.begin(115200); // Set baud rate for serial monitor
      }
      
      void loop() {
        Wire.beginTransmission(I2C_ADDRESS);  // Begin transmission to the I2C device
        Wire.write("Hello, World!");  // Send the message
        Wire.endTransmission();  // End transmission
      
        Serial.println("Message sent!");
      
        delay(1000); // Wait for 1 second before sending the next message
      }
      

      This is my first attempt at dealing with I2C so extra comments are welcome as well. Would still be easier if I could use these pins for UART so tell me if that's an option.

      Thanks!

      posted in Ask your questions right here!
      F
      Filip Slezak
      13 Jun 2023, 00:02
    • RE: Upgrading PX4 for VOXL2

      @Eric-Katzfey Yeah ok I think I got it. So just execute the above dpkg install. Would be cool if it checked for updates itself every once in a while

      posted in VOXL 2
      F
      Filip Slezak
      1 Jun 2023, 21:29
    • RE: Upgrading PX4 for VOXL2

      @Eric-Katzfey Is this just a command to execute on the voxl, px4 will be updated and all else remain equal - custom configs and all?

      Thanks

      posted in VOXL 2
      F
      Filip Slezak
      31 May 2023, 21:55
    • RE: PWM and CAN channels

      @Vinny Hi, is there any update on this CAN support through FlightCore V2?

      We're seriously considering the option instead of a PWM through the I/O board to control our motors. Unfortunately, I can't seem to find any code that would do this from the PX4 pilot - other than that the connector exists. How is this supported by the board interfaces? How would I go about sending commands to that bus?

      Let me know if you need more info.
      Best

      posted in Flight Core v2
      F
      Filip Slezak
      30 May 2023, 05:03
    • RE: PWM channel control for auxiliary functions

      Any tips on how to control this from ROS for offboard mode?

      posted in VOXL 2 IO
      F
      Filip Slezak
      20 May 2023, 02:59
    • RE: PWM channel control for auxiliary functions

      Yes, thanks. Although incomplete 🙂
      Need to configure quad_x_io.main.mix (find / -name "filename") with the code below where X is the channel defined in the 2nd link below (AUX1 5 or AUX2 6)

      # Hexacopter X airframe config
      R: 6x ...
      # For each AUX channel
      M: 1
      S: 3 X ...
      

      Writing this from home, sorry for '...' but simply copy the config to quad_x.main.mix to quad_x_io.main.mix, both these files are loaded on boot and if the io board is connected it overrides the former

      AUX1 will be on pin7 and AUX2 on pin8.

      1. https://docs.px4.io/v1.12/en/concept/mixing.html
      2. https://docs.modalai.com/voxl2-io-user-guide/#supported-mixers-and-airframe-setup

      Or properly rename the file and change the name being loaded in the px4 startup script but I didn't do that to avoid issues in case it's used by something else too...

      posted in VOXL 2 IO
      F
      Filip Slezak
      20 May 2023, 02:52
    • RE: VOXL2 unused/repurposed GPIO
      def gpio_init(pin):
          with open("/sys/class/gpio/export", "w") as config:
              config.write(str(pin).encode())
          return
      
      def gpio_exit(pin):
          with open("/sys/class/gpio/unexport", "w") as config:
              config.write(str(pin).encode())
          return
      
      def gpio_set_mode(pin, direction):
          with open("/sys/class/gpio/gpio{}/direction".format(pin), "w") as mode:
              mode.write(str(direction).encode())
          return
      
      def gpio_set_value(pin, value):     
          with open("/sys/class/gpio/gpio{}/value".format(pin), "w") as gpio:
              gpio.write(str(value).encode())
          return
           
      
      posted in Ask your questions right here!
      F
      Filip Slezak
      20 May 2023, 00:29
    • PWM channel control for auxiliary functions

      Hi all,

      How should I go about controlling the PWM channel 7 or 8 (hexacopter airframe) from VOXL2 code and/or remote control? I can't find where the AUX channels are mapped

      Thx

      posted in VOXL 2 IO
      F
      Filip Slezak
      18 May 2023, 23:29
    • RE: VOXL2 unused/repurposed GPIO

      @tom said in VOXL2 unused/repurposed GPIO:

      https://docs.modalai.com/voxl2-linux-user-guide/#gpios

      Indeed, thanks for the fast reply. I also just ran into the bind.c here https://forum.modalai.com/topic/1466/voxl2-gpio-and-serial-interfaces/3 and turns out I didn't account for the chip offset. How do I figure out which one to use? In this case it was 1100. This should now be a permanent setting right?

      To modify those from code I could copy the _gpio_control function above and use it in a ros package, right? I am looking for a clean way to do this. Please tell me if there's a better way to directly toggle based on radio signal.

      Also, I can't find any python code examples, are there any?

      posted in Ask your questions right here!
      F
      Filip Slezak
      11 May 2023, 22:57
    • RE: VOXL2 unused/repurposed GPIO

      Hey, trying to do something very similar myself.

      Can't seem to toggle pin 46 on the VOXL2 J10. Following docs.modalai.com/voxl-gpio-io I run into the following:

      voxl2:~$ echo 46 > /sys/class/gpio/export
      -bash: echo write error: Invalid argument
      

      Eventually, I'd like this to match the state of a radio remote control switch to kill another board's power supply. Maybe through ROS
      but preferably not. Can you guide me through it please?

      posted in Ask your questions right here!
      F
      Filip Slezak
      11 May 2023, 22:42
    Powered by NodeBB | Contributors