Releases: luminositylab/KIP-Backend
KIP Version 2 CREATE MVP Stable (XK-02)
Brief Overview
This release is written specifically for the KIP 3.X Rev PCB. Preferred operation with later boards with level shifter because of the pullup resistor in the ATMega2560 can be picky with 3.3v raspberry pi logic and 5v ATMega logic. This release is directed towards the Science Center CREATE Camp deadline.
Feature List
- Socket based network connection
- Speed controlled i2c eyes
- Single stick differential drive tele-operated controls
- Functional servo control
- Positional arm control
- Micro-stepping enabled
Eyes
This release uses 2X 0.96" oled i2c displays for kip's eyes. The eyes use an Adafruit library. In order to operate and the eye code is written in python3.
Eye code examples and test scripts: ./KIP-Backend/node-server/i2c-eyes/
The "production" script uses a shared fifo pipe with the node server. Ensure that both eyes are plugged in and have their eyes individually addressable by re-soldering one of the resistors to change address. The production script is ./KIP-Backend/node-server/fifo-eyes.py
i2c Packet Structure
The packet structure from the raspberry pi to the ATMega is:
SYNC_BYTE, LEFT_MOTOR_DIR, LEFT_MOTOR_SPEED, RIGHT_MOTOR_DIR, RIGHT_MOTOR_SPEED, ARM_POSITION, GRIPPER_POSITION
SYNC_BYTE = 255
All direction packets are either 0 or positive to indicate motor direction.
Known Issues
- Crash without all i2c peripherals available
- Reboots Raspberry pi when a servo is plugged in on run time
- i2c eyes are random and noisy on boot
- i2c eyes are delayed by fifo pipe
- servo chatters when steppers run concurrently
KIP Version 1 Stable Code (XK-01B)
This release documents the end of software compatible with the first version of KIP (XK-01B) which uses http for app coms, UART for serial bus, and an ATMEGA 328P. After this release, all software will be supporting the second version of the board, robot, and react app.