PS_Fgen_FW  4da88f4073c1cc65ea45c3a652a2751e495e50db
Firmware for an Power Supply and Function Generator build from an ATX power supply
Loading...
Searching...
No Matches
2 - User Interface

UI Components

The user interface is made up of the following components:

  • Graphical display: A 320x240 pixel graphical LCD is used to display the device status and current settings.
  • Encoder: A rotary encoder can be used for value editing and menu navigation.
  • KeyPad: A 16 button keypad can be used for value editing and menu navigation.
  • OnOffControls: A PCB with buttons and LEDs for faster enabling of the channels and status display.

User Input Handling

All user inputs are directly enqueued into an RingBuffer when they occur. They are then later processed by the main loop. This approach is used to decouple the user input producers (ISRs) from the processing itself (which could take some time). The following user inputs are detected:

  • Keys: All pressed keys are enqueued as USERDATA_KEY types.
  • Encoder: All encoder rotations (clockwise, counterclockwise) and the encoder button are also enqueued as USERDATA_KEY types. This is done to simplify the later processing by minimizing different data types.
  • UART: Characters that are received via the serial communication interface are enqueued as USERDATA_USART types.
  • OnOffButtons: All buttons on the OnOffControls PCB are enqueued as USERDATA_ON_OFF_BUTTONS types.

UI Library

The user interface is based on a self developed UI library (https://github.com/M1S2/UI_Lib).

UI Overview

SplashScreen

Welcome screen that shows the project name, the serial number of the device and the software version number.

Splash Screen

PS

User interface part for the power supply channel of the device.

PowerSupply

This screen can be used to change the power supply voltage settings. Also the output can be enabled or disabled and there is a control for the regulation mode. Also the actual measurements (voltage, current, power) are shown.

Screen PS

OVP

Settings for the over voltage protection of the power supply channel (protection level in % of the configured output voltage, Enabled/Disabled state, protection delay after which the protection kicks in, button to clear an active protection)

Screen PS OVP

OCP

Settings for the over current protection of the power supply channel (protection level in A, Enabled/Disabled state, protection delay after which the protection kicks in, button to clear an active protection)

Screen PS OCP

OPP

Settings for the over power protection of the power supply channel (protection level in W, Enabled/Disabled state, protection delay after which the protection kicks in, button to clear an active protection)

Screen PS OPP

DDS

User interface part for the direct digital synthesis channels of the device.

DDS1

This screen can be used to change the DDS parameters of channel 1 (frequency, waveform type, amplitude, offset, output enabled state).

Screen DDS1

DDS2

This screen can be used to change the DDS parameters of channel 2 (frequency, waveform type, amplitude, offset, output enabled state).

Screen DDS2

Meas

User interface part for the measurement channels of the device.

DMM

Show the measurements of both digital multimeter channels (DMM1 & DMM2) as value and as bar graph.

Screen Meas DMM

ATX

Show the measurements of the +5V and +3.3V ATX voltages as values and as bar graphs.

Screen Meas ATX

Conf

User interface part for different settings of the device.

Device

This screen can be used to save all settings immediatelly (beside the automatic periodical saving), reset all settings, reset the calibration and to start the calibration (guided calibration for all output and input channels).

Screen Config Device

Settings PowerUp

Settings for the output states on power up. The ouputs can always be switched off or on on power up. Also the last output states can be restored on power up.

Screen Config PowerUp

Settings Version

Screen that shows the same version informations as the welcome screen (developer, serial number of the device, software version number).

Screen Config Version