![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
df
Fork of APP1 by
SPIDisplayer.cpp
- Committer:
- GaiSensei
- Date:
- 2017-02-09
- Revision:
- 23:2531e72d92b9
- Parent:
- 21:a111be2582be
File content as of revision 23:2531e72d92b9:
///////////////////////////////////////////////////////////// // APP 1: Systèmes à microprocesseurs // // // // Université de Sherbrooke // // Génie informatique // // Session 5, Hiver 2017 // // // // Date: 17 janvier 2017 // // // // Auteurs: Maxime Dupuis, dupm2216 // // Bruno Allaire-Lemay, allb2701 // ///////////////////////////////////////////////////////////// #include "SPIDisplayer.hpp" SPIDisplayer::SPIDisplayer(PinName mosi, PinName miso, PinName sclk, PinName ssel): device(SPI(mosi, miso, sclk, ssel)), pc(Serial(USBTX, USBRX)) { } void SPIDisplayer::displayAngle(float angle) { char digits[6]; snprintf(digits, sizeof digits, "%f", angle); if(digits[1] == '.') { device.write(0); wait(0.001); device.write((int)digits[0] - 48); wait(0.001); device.write((int)digits[2] - 48); wait(0.001); device.write((int)digits[3] - 48); wait(0.001); } else { device.write((int)digits[0] - 48); wait(0.001); device.write((int)digits[1] - 48); wait(0.001); device.write((int)digits[3] - 48); wait(0.001); device.write((int)digits[4] - 48); wait(0.001); } device.write(DECIMAL_CONTROL_REGISTER); wait(0.001); device.write(FLOATING_POINT_DOT_POSITION); wait(0.001); } void SPIDisplayer::reset() { device.write(CLEAR_DISPLAY_REGISTER); wait(0.001); device.write(CURSOR_CONROL_REGISTER); wait(0.001); device.write(MOST_LEFT_DIGIT_POSITION); wait(0.001); }