Driver Functions List



function name inputs outputs description
sonar_read angle distance Returns the sonar reading in cm at a given angle
sonar_read_raw sensor# distance Returns the sonar reading from a given sensor at current direction


  • write stepper code based on physical constraints
  • write raw data to useful data conversion once we know what sonar outputs
  • eventually implement struct to read both sides of sonar
  • write code to actually interface with hardware
  • test the example code to make sure it actually works
  • write a filter to remove bad values
  • write a function to take multiple sonar values at each position
  • write a function to scan 180 degrees and return an array for sonar readings all around the robot



  • write generic function that reads data from I/O pins and send it to ARM
  • write a function that detects if an accessory is present
  • write function to detect type of accessory and setup I/O
    • Must differentiate between smart and dumb accessories
    • For dumb accessories AVR should poll and broadcast I/O based on user program
  • Test and make sure code does not interfere with sonar polling/outputs



  • Write function to read IMU data
  • write a function that converts between raw data and useful data once we know what IMU outputs
  • Write a filter to remove bad values
  • Write a function to get estimated pose though comparison with previous values