Alternative dso firmware [Application Software Design Entry]

I know I promised not to add new modules, but I could not resist :slight_smile:

This time I was playing a little with GPIO. I wanted to make a simple application communicating with popular DS1820 thermometers. These devices are small integrated circuits in TO92 package and the protocol they use is called “one-wire” bus. You only need single pin to write&read from them. Because I already have a UART connector accessible from outside I wanted to share the TX pin for this purpose. I added few functions to my BIOS implementation to control and read from the GPIO pins. ARM M3 MCUs have internal pullup resistors, so you can directly attach the thermometer on the four pin UART connector (PIN1->GND, PIN2->TX, PIN3->VCC) and the application will show the device ID, scratchpad contents and also the temperature with 1/16 of C resolution.







The source code can be found here, there is a nice implementation of pin control in class CPin:

<LINK_TEXT text=“https://github.com/gabonator/DS203/blob … GpioTest.h”>https://github.com/gabonator/DS203/blob/master/Source/Gui/User/GpioTest.h</LINK_TEXT>