pitop
  • 1. Getting Started
    • 1.1. Installing the SDK
      • 1.1.1. pi-topOS
      • 1.1.2. Using apt
      • 1.1.3. Using PyPI
      • 1.1.4. Building from source
    • 1.2. Checking that the SDK is installed and working
    • 1.3. What next!?
  • 2. Overview
    • 2.1. pi-top [4]
      • 2.1.1. Interacting with onboard pi-top [4] hardware
      • 2.1.2. Physical computing with pi-top [4]
    • 2.2. pi-top laptops
      • 2.2.1. Interacting with onboard pi-top laptop hardware
      • 2.2.2. Using peripherals with a pi-top laptop
    • 2.3. pi-topCEED
      • 2.3.1. Interacting with onboard pi-topCEED hardware
      • 2.3.2. Using peripherals with a pi-topCEED
  • 3. Key Concepts
    • 3.1. pi-top Maker Architecture
      • 3.1.1. Inputs and Outputs
      • 3.1.2. Digital and Analog
      • 3.1.3. Ports and Pins
        • 3.1.3.1. Digital Ports
        • 3.1.3.2. Analog Ports
        • 3.1.3.3. Motor Ports
        • 3.1.3.4. ServoMotor Ports
        • 3.1.3.5. I2C Ports
      • 3.1.4. Identifying PMA port for a component
        • 3.1.4.1. Digital component
        • 3.1.4.2. Analog component
        • 3.1.4.3. Motor component
      • 3.1.5. More Information
    • 3.2. pi-top [4] Miniscreen
  • 4. Recipes
    • 4.1. PMA: Using a Button to Control an LED
    • 4.2. Robotics Kit: DIY Rover
    • 4.3. Robotics Kit: Robot - Moving Randomly
    • 4.4. Robotics Kit: Robot - Line Detection
    • 4.5. Displaying camera stream in pi-top [4]’s miniscreen
    • 4.6. Robotics Kit: Robot - Control using Bluedot
    • 4.7. Using the pi-topPULSE’s LED matrix to show the battery level
    • 4.8. Choose a pi-top [4] miniscreen startup animation
  • 5. API - pi-top Device
    • 5.1. Pitop
      • 5.1.1. Class Reference: Pitop
        • Pitop
      • 5.1.2. Using the Pitop object
        • 5.1.2.1. Attaching objects and saving configuration to a file
        • 5.1.2.2. Loading an existing configuration
    • 5.2. pi-top Battery
      • 5.2.1. Class Reference: pi-top Battery
        • Battery
    • 5.3. pi-top Display
      • 5.3.1. Class Reference: pi-top Display
        • Display
    • 5.4. pi-top [4] Miniscreen
      • 5.4.1. Using the Miniscreen’s OLED Display
        • 5.4.1.1. Displaying text
        • 5.4.1.2. Showing an image
        • 5.4.1.3. Loop a GIF
        • 5.4.1.4. Displaying an GIF once
        • 5.4.1.5. Displaying an GIF once through frame by frame
        • 5.4.1.6. Displaying an GIF looping in background
        • 5.4.1.7. Handling basic 2D graphics drawing and displaying
        • 5.4.1.8. Displaying a clock
        • 5.4.1.9. Display a particle-based screensaver
        • 5.4.1.10. Prim’s algorithm
        • 5.4.1.11. 2-Player Pong Game
      • 5.4.2. Class Reference: pi-top [4] Miniscreen
        • Miniscreen
      • 5.4.3. Using the Miniscreen’s Buttons
      • 5.4.4. Class Reference: pi-top [4] Miniscreen Button
        • MiniscreenButton
  • 6. API - pi-top Maker Architecture (PMA) Components
    • 6.1. Button
      • Button
        • Button.own_state
        • Button.close()
        • Button.active_time
        • Button.closed
        • Button.config
        • Button.ensure_pin_factory()
        • Button.from_config()
        • Button.from_file()
        • Button.held_time
        • Button.hold_repeat
        • Button.hold_time
        • Button.import_class()
        • Button.inactive_time
        • Button.is_active
        • Button.is_held
        • Button.is_pressed
        • Button.pin
        • Button.pressed_time
        • Button.print_config()
        • Button.print_state()
        • Button.pull_up
        • Button.save_config()
        • Button.state
        • Button.value
        • Button.values
        • Button.wait_for_active()
        • Button.wait_for_inactive()
        • Button.wait_for_press()
        • Button.wait_for_release()
        • Button.when_activated
        • Button.when_deactivated
        • Button.when_held
        • Button.when_pressed
        • Button.when_released
    • 6.2. Buzzer
      • Buzzer
        • Buzzer.own_state
        • Buzzer.close()
        • Buzzer.active_high
        • Buzzer.beep()
        • Buzzer.blink()
        • Buzzer.closed
        • Buzzer.config
        • Buzzer.ensure_pin_factory()
        • Buzzer.from_config()
        • Buzzer.from_file()
        • Buzzer.import_class()
        • Buzzer.is_active
        • Buzzer.off()
        • Buzzer.on()
        • Buzzer.pin
        • Buzzer.print_config()
        • Buzzer.print_state()
        • Buzzer.save_config()
        • Buzzer.source
        • Buzzer.source_delay
        • Buzzer.state
        • Buzzer.toggle()
        • Buzzer.value
        • Buzzer.values
    • 6.3. Encoder Motor
      • EncoderMotor
        • EncoderMotor.own_state
        • EncoderMotor.forward_direction
        • EncoderMotor.braking_type
        • EncoderMotor.set_power()
        • EncoderMotor.power()
        • EncoderMotor.set_target_rpm()
        • EncoderMotor.target_rpm()
        • EncoderMotor.stop()
        • EncoderMotor.current_rpm
        • EncoderMotor.rotation_counter
        • EncoderMotor.torque_limited
        • EncoderMotor.max_rpm
        • EncoderMotor.wheel_diameter
        • EncoderMotor.wheel_circumference
        • EncoderMotor.set_target_speed()
        • EncoderMotor.forward()
        • EncoderMotor.backward()
        • EncoderMotor.current_speed
        • EncoderMotor.distance
        • EncoderMotor.max_speed
      • 6.3.1. Parameters
        • BrakingType
        • ForwardDirection
        • Direction
    • 6.4. LED
      • LED
        • LED.own_state
        • LED.close()
        • LED.active_high
        • LED.blink()
        • LED.closed
        • LED.config
        • LED.ensure_pin_factory()
        • LED.from_config()
        • LED.from_file()
        • LED.import_class()
        • LED.is_active
        • LED.is_lit
        • LED.off()
        • LED.on()
        • LED.pin
        • LED.print_config()
        • LED.print_state()
        • LED.save_config()
        • LED.source
        • LED.source_delay
        • LED.state
        • LED.toggle()
        • LED.value
        • LED.values
    • 6.5. Light Sensor
      • LightSensor
        • LightSensor.reading
        • LightSensor.value
        • LightSensor.own_state
    • 6.6. Potentiometer
      • Potentiometer
        • Potentiometer.own_state
        • Potentiometer.position
        • Potentiometer.value
    • 6.7. Servo Motor
      • ServoMotor
        • ServoMotor.own_state
        • ServoMotor.stop()
        • ServoMotor.zero_point
        • ServoMotor.angle_range
        • ServoMotor.setting
        • ServoMotor.current_angle
        • ServoMotor.current_speed
        • ServoMotor.smooth_acceleration
        • ServoMotor.target_angle
        • ServoMotor.target_speed
        • ServoMotor.sweep()
    • 6.8. Sound Sensor
      • SoundSensor
        • SoundSensor.reading
        • SoundSensor.value
        • SoundSensor.own_state
    • 6.9. Ultrasonic Sensor
      • UltrasonicSensor
        • UltrasonicSensor.own_state
        • UltrasonicSensor.max_distance
        • UltrasonicSensor.threshold_distance
        • UltrasonicSensor.distance
        • UltrasonicSensor.value
        • UltrasonicSensor.pin
        • UltrasonicSensor.close()
        • UltrasonicSensor.in_range
        • UltrasonicSensor.when_in_range
        • UltrasonicSensor.when_out_of_range
        • UltrasonicSensor.wait_for_in_range()
        • UltrasonicSensor.wait_for_out_of_range()
  • 7. API - pi-top Peripheral Devices
    • 7.1. pi-topPROTO+
      • 7.1.1. Using the pi-topPROTO+ as a Distance Sensor
      • 7.1.2. Class Reference: pi-topPROTO+ Distance Sensor
        • DistanceSensor
      • 7.1.3. Using the pi-topPROTO+’s onboard ADC
      • 7.1.4. Class Reference: pi-topPROTO+ ADC Probe
        • ADCProbe
    • 7.2. pi-topPULSE
      • 7.2.1. Using the pi-topPULSE’s microphone
      • 7.2.2. Using the pi-topPULSE’s LED matrix: Test colors
      • 7.2.3. Using the pi-topPULSE’s LED matrix: Fancy Light Show!
      • 7.2.4. Using the pi-topPULSE’s LED matrix: Showing CPU temperature
      • 7.2.5. Using the pi-topPULSE’s LED matrix: Showing CPU usage
      • 7.2.6. Module Reference: pi-topPULSE Configuration
        • reset_device_state()
        • enable_device()
        • disable_device()
        • set_microphone_sample_rate_to_16khz()
        • set_microphone_sample_rate_to_22khz()
        • speaker_enabled()
        • mcu_enabled()
        • eeprom_enabled()
        • microphone_sample_rate_is_16khz()
        • microphone_sample_rate_is_22khz()
      • 7.2.7. Module Reference: pi-topPULSE LED Matrix
        • set_debug_print_state()
        • brightness()
        • get_brightness()
        • rotation()
        • flip_h()
        • flip_v()
        • get_shape()
        • get_pixel()
        • set_pixel()
        • set_all()
        • show()
        • clear()
        • off()
        • run_tests()
        • start()
        • stop()
      • 7.2.8. Module Reference: pi-topPULSE Microphone
        • record()
        • is_recording()
        • stop()
        • save()
        • set_sample_rate_to_16khz()
        • set_sample_rate_to_22khz()
        • set_bit_rate_to_unsigned_8()
        • set_bit_rate_to_signed_16()
      • 7.2.9. Advanced: EEPROM
  • 8. API - System Peripheral Devices
    • 8.1. USB Camera
      • 8.1.1. Using a USB Camera to Access Image Data
      • 8.1.2. Using a USB Camera to Capture Video
      • 8.1.3. Adding Motion Detection to a USB Camera
      • 8.1.4. Processing Camera Frame
      • 8.1.5. Processing Camera Frame Stream with OpenCV (Convert to grayscale)
      • 8.1.6. Ball Color Detection with OpenCV
      • 8.1.7. Class Reference: USB Camera
        • Camera
    • 8.2. Keyboard Button
      • 8.2.1. Class Reference: KeyboardButton
        • KeyboardButton
      • 8.2.2. Special Key Names
  • 9. API - pi-top Robotics
    • 9.1. Drive Controller
      • DriveController
        • DriveController.robot_move()
        • DriveController.forward()
        • DriveController.backward()
        • DriveController.left()
        • DriveController.right()
        • DriveController.target_lock_drive_angle()
        • DriveController.rotate()
        • DriveController.stop()
        • DriveController.stop_rotation()
    • 9.2. Pan Tilt Controller
      • PanTiltController
        • PanTiltController.CALIBRATION_FILE_NAME
        • PanTiltController.pan_servo
        • PanTiltController.tilt_servo
        • PanTiltController.track_object
        • PanTiltController.calibrate()
    • 9.3. Pincer Controller
      • PincerController
        • PincerController.CALIBRATION_FILE_NAME
        • PincerController.close()
        • PincerController.open()
        • PincerController.pincer_move()
        • PincerController.calibrate()
  • 10. Command-Line Tools (CLI)
    • 10.1. ‘pi-top’ Command
      • 10.1.1. pi-top battery
      • 10.1.2. pi-top display
        • 10.1.2.1. pi-top display brightness
        • 10.1.2.2. pi-top display backlight
        • 10.1.2.3. pi-top display blank_time
      • 10.1.3. pi-top devices
      • 10.1.4. pi-top imu
      • 10.1.5. pi-top oled
        • 10.1.5.1. pi-top oled display
        • 10.1.5.2. pi-top oled spi
      • 10.1.6. pi-top support
        • 10.1.6.1. pi-top support links
        • 10.1.6.2. pi-top support health_check
  • 11. 🧪 Labs - Experimental APIs ⚠️
    • 11.1. Web
      • 11.1.1. Servers
        • 11.1.1.1. WebServer
        • 11.1.1.2. WebController
        • 11.1.1.3. RoverWebController
      • 11.1.2. Blueprints
        • 11.1.2.1. BaseBlueprint
        • 11.1.2.2. WebComponentsBlueprint
        • 11.1.2.3. MessagingBlueprint
        • 11.1.2.4. VideoBlueprint
        • 11.1.2.5. ControllerBlueprint
        • 11.1.2.6. RoverControllerBlueprint
  • 12. More Information
    • 12.1. Frequently Asked Questions
      • 12.1.1. How does this SDK work?
      • 12.1.2. What is PMA?
      • 12.1.3. I keep getting an Exception - what is the problem?
      • 12.1.4. Where did this SDK come from?
      • 12.1.5. I was using an older version of the Python libraries. How can I update to use this SDK?
      • 12.1.6. I lost my miniscreen menu - where is it?
    • 12.2. API Changes
    • 12.3. Contributing
    • 12.4. References
    • 12.5. Requirements
    • 12.6. License
pitop
  • 12. More Information
  • View page source

12. More Information

  • 12.1. Frequently Asked Questions
    • 12.1.1. How does this SDK work?
    • 12.1.2. What is PMA?
    • 12.1.3. I keep getting an Exception - what is the problem?
    • 12.1.4. Where did this SDK come from?
    • 12.1.5. I was using an older version of the Python libraries. How can I update to use this SDK?
    • 12.1.6. I lost my miniscreen menu - where is it?
  • 12.2. API Changes
  • 12.3. Contributing
  • 12.4. References
  • 12.5. Requirements
  • 12.6. License

For an alphabetized list of terms used in this SDK with links, check out the Index.

Previous Next

© Copyright pi-top 2022.

Built with Sphinx using a theme provided by Read the Docs.