Exercise No. 34: Dental Device Software
Transfer the following verbal description into an EPC
The apex locator is an electronic device used in endodontics - a dental specialty - to determine the opening at the apex of the root of a tooth, through which the nerve and blood vessels pass. The device presented has a multimedia display and operates with two buttons - a power button (ON/OFF) and VOLUME button to control the volume of the voice messages that guide the dentist during the measurement process. In addition, a demo mode presentation can be started by holding the power button for a few seconds. The device uses a Li-ion battery and the charging method is similar with this of a cell phone.
a) Upon pushing the ON/OFF button or plugging in the AC adapter, the software program starts the central processing unit and, at the same time, initializes the display driver. Once the display is active, the software program performs a check to find out if the AC adapter is plugged in. If this is the case - please follow e), if not - follow b).
b) If no adapter is plugged in, the system checks if the ON/OFF button is still pushed. If the check is negative, please follow c). For a positive check - follow d).
c) If the ON/OFF button is not pushed, the system loads an initial display. Once the initial display is started and the device is ready to measure, the software program checks if the VOLUME button has been pushed. If the check is negative, the following process is described in f), if the check is positive - follow g).
d) A positive check leads to the activation of the demo mode. Then the system displays a demo part. Once it has been displayed, the system checks if this has been the last part. If it is not the last one, the process starts over and the system displays the next demo part. A positive check means that all parts have been presented and leads to the new waiting activity described in k).
e) If the adapter is plugged in, the charging program is activated. Once the charging program is running, the system shows a "Charging" message on the display. After that, the software measures the elapsed time before continuing with further actions (time data is used). If the waiting time is less than 60 seconds, the system continues to wait. Alternative, if the waiting time exceeds 60 seconds, the system automatically switches the display off. Then it regularly checks if any button has been pushed. When this is the case, the "Charging" message has to be shown again. If no buttons have been pushed, the system proceeds with the waiting activity described in k).
f) For the case that the VOLUME button has not been pushed, the device starts with the measurement process, deciding which measurement method is most appropriate. The choice is between method #1, method #2 or none of both.
g) For the case that it has been pushed, the volume is increased by one level. Then either the volume already equals the maximum level, which demands the system to mute the device, or it is less than the maximum. Regardless of which case applies, the system always performs the VOLUME button check again.
h) If method #1 has been chosen, the software program performs it. Once the method is performed and results are displayed, the system makes again the initial decision about which method is most suitable.
i) If method #2 is suitable, the system determines whether subprogram #2.1 or #2.2 is appropriate and, after that, performs the chosen one. After a subprogram has been performed and results are displayed (additionally for #2.2, as a result, log files are saved), the software can choose again an appropriate method.
j) The third option, when no appropriate method is found, leads also to the waiting activity described in k).
k) The system now waits again and if 30 seconds have not been exceeded, the process starts all over again and the system checks again for an AC adapter. Finally, in the case that 30 or more seconds have already passed, the device automatically turns off.