This is the UI created by Ronan Valadez for all of the DPI functions Link to images of the UI: https://drive.google.com/drive/folders/1OtQawL7MHeenSF5ovMq7nKcK-NjQwnfd?usp=sharing
All Screens have a "quit" button which will close the UI, and every screen except for Startup Screen contains a "Go back" button that brings the user to the previous screen.
Startup Screen: This is the screen that displays off of launch. This screen will lead you to other screens, or allow you to close the UI by pressing the quit button
Encoder Screen: This screen will display the current position of two separate encoder motors.
Neopixel Screen: The neopixel is essentially an LED strip. On this screen, a user can program individual LEDs on two separate neopixel strip. The user can also turn off every neopixel at once. This screen supports two neopixel strips
Output Screen: The output screen is used for any outputting device a DPi can support. For the DPEA, this tends to be LEDs. This screen will allow the user to individually turn on up to 4 outputting devices.
Input Screen: The input screen is used for limit switches. Supports up to 4 inputting devices
DC Motor Screen: The DC motor screen will allow you to set the individual speed for up to two motors, and rotate those two motors either simultaneously or singly.
Button Screen: The button screen has three main functions. The first is to notify the user if the button is being pushed. The second is to set the color of the button when it is being pressed. The last is to set the color of the button when it is not being pressed. You can only check if a button is being pressed one at a time.
Servo Screen: The servo screen will rotate a servo motor to a given angle. This screen supports up to two motors
Stepper Home Screen: The stepper home screen will allow you to home up to three stepper motors. You can home them simultaniously or singly. You can choose your homing direction, homing type, if there is a gear ratio, homing speed, and max distance to home.
Stepper Movement Screen: The stepper movement screen allows you to move the stepper. You can set the microstepping, your units of movement, the distance you want to travel, and your speed and acceleration. This supports up to three motors. Other functions include preprogramed movements to verify that hardware is working, and getting the status, position, and velocity of a motor.
Potentiometer Screen: The potentiometer will simultaneously display the value of two potentiometers