PROJ515-MASTER-No-PWM

Dependencies:   mbed mbed-rtos ShiftReg2 TextLCD

Committer:
thomasmorris
Date:
Tue May 07 21:55:57 2019 +0000
Revision:
4:020f93d35f6e
Added mutex and safey coding needs more. Added board and serial functions that need testing. As well as a more thorough post function.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
thomasmorris 4:020f93d35f6e 1 #ifndef _INTERFACE_HPP_
thomasmorris 4:020f93d35f6e 2 #define _INTERFACE_HPP_
thomasmorris 4:020f93d35f6e 3
thomasmorris 4:020f93d35f6e 4 #include "mbed.h"
thomasmorris 4:020f93d35f6e 5 #include "rtos.h"
thomasmorris 4:020f93d35f6e 6 #include "TextLCD.h"
thomasmorris 4:020f93d35f6e 7
thomasmorris 4:020f93d35f6e 8 //Libraries and header file includes
thomasmorris 4:020f93d35f6e 9
thomasmorris 4:020f93d35f6e 10
thomasmorris 4:020f93d35f6e 11 extern Serial PC; //TX, RX
thomasmorris 4:020f93d35f6e 12 extern Serial Board; //TX, RX
thomasmorris 4:020f93d35f6e 13 extern TextLCD Lcd; // rs, e, d4-d7
thomasmorris 4:020f93d35f6e 14 //extern DigitalOut On_board_led;//Onboard LED
thomasmorris 4:020f93d35f6e 15 class INTERFACE
thomasmorris 4:020f93d35f6e 16 {
thomasmorris 4:020f93d35f6e 17 public://Public member functions and variables
thomasmorris 4:020f93d35f6e 18 INTERFACE(PinName N1, PinName N2, PinName N3, PinName N4, PinName N5, PinName N6, PinName N7, PinName N8, PinName N9, PinName N10, PinName N11);
thomasmorris 4:020f93d35f6e 19 ~INTERFACE();
thomasmorris 4:020f93d35f6e 20 void Init();
thomasmorris 4:020f93d35f6e 21 int Post();
thomasmorris 4:020f93d35f6e 22 void Serial();
thomasmorris 4:020f93d35f6e 23 void LCD();
thomasmorris 4:020f93d35f6e 24 void On_board_LED_Flash();
thomasmorris 4:020f93d35f6e 25 //Public Functions
thomasmorris 4:020f93d35f6e 26
thomasmorris 4:020f93d35f6e 27 //Public Variabls
thomasmorris 4:020f93d35f6e 28
thomasmorris 4:020f93d35f6e 29 private://Private member functions and variables
thomasmorris 4:020f93d35f6e 30 //Inputs
thomasmorris 4:020f93d35f6e 31
thomasmorris 4:020f93d35f6e 32 //Rotary Encoder
thomasmorris 4:020f93d35f6e 33 DigitalIn _Rotary_Encoder_A;//N1
thomasmorris 4:020f93d35f6e 34 DigitalIn _Rotary_Encoder_B;//N2
thomasmorris 4:020f93d35f6e 35 DigitalIn _Rotary_Encoder_Button;//N3
thomasmorris 4:020f93d35f6e 36
thomasmorris 4:020f93d35f6e 37
thomasmorris 4:020f93d35f6e 38 //Buttons
thomasmorris 4:020f93d35f6e 39 DigitalIn _Button_1;//N4
thomasmorris 4:020f93d35f6e 40 DigitalIn _Button_2;//N5
thomasmorris 4:020f93d35f6e 41 DigitalIn _Button_3;//N6
thomasmorris 4:020f93d35f6e 42
thomasmorris 4:020f93d35f6e 43 //MOSFET Safety Pin
thomasmorris 4:020f93d35f6e 44 DigitalOut _MOSFET_Safety;//Active low N7
thomasmorris 4:020f93d35f6e 45
thomasmorris 4:020f93d35f6e 46 //Shift Register Control
thomasmorris 4:020f93d35f6e 47 DigitalOut _Shift_SCLK;//N8
thomasmorris 4:020f93d35f6e 48 DigitalOut _Shift_Latch;//N9
thomasmorris 4:020f93d35f6e 49 DigitalOut _Shift_Enable;//N10
thomasmorris 4:020f93d35f6e 50 DigitalOut _Shift_Data;//N11
thomasmorris 4:020f93d35f6e 51
thomasmorris 4:020f93d35f6e 52
thomasmorris 4:020f93d35f6e 53 //Private Functions
thomasmorris 4:020f93d35f6e 54
thomasmorris 4:020f93d35f6e 55 //Private Variables
thomasmorris 4:020f93d35f6e 56 //DigitalOut On_board_led;//Onboard LED
thomasmorris 4:020f93d35f6e 57 };
thomasmorris 4:020f93d35f6e 58 #endif //_INTERFACE_HPP_