This has increased comments and a readme
Dependencies: mbed mbed-rtos TextLCD
Revision 27:22d6fd88828e, committed 2019-03-01
- Comitter:
- JDickson
- Date:
- Fri Mar 01 21:57:59 2019 +0000
- Parent:
- 26:83550fc299aa
- Commit message:
- More comments
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.txt Fri Mar 01 21:57:59 2019 +0000 @@ -0,0 +1,42 @@ +COILING RIG CODE V10: +This code is used to operate the Carbon Fibre actuator construction rigs. The buttons on this rig operate as follows: + + - Reset: + This button simply reboots the board and restarts the code. + + - Function: + This button chooses between the functions of the board + + - Select: + This selects the part of the function in the interface to be changed + + - Up: + This increases either the number of coils or annealing time + + - Down: + This decreases either the number of coils or annealing time + + - Start/Stop: + + +Useful code information: + Function 0 = Turn + Function 1 = Anneal + Function 2 = Test + + Black :Reset : HardWired + Red :Up : D8 + Orange:Down : A1 + Brown :Start/Stop: D9 + Green :Select : A3 + Yellow:Function : A4 + + + //Led Outputs //check the pin outs. + static DigitalOut Led_Select_Left(D2); + static DigitalOut Led_Select_Right(D3); + static DigitalOut Led_Power(A3); + + TextLCD lcd(D0,D1,D4,D5,D6,D7); // rs, e, d4-d7 + TendonPower (PWM) pin is PE_8 one below d0 + STEPPER_MOTOR STEPPER_MOTOR_1(D15,D14,D13,D12) this is defined in interface.hpp \ No newline at end of file
--- a/SETUP.hpp Tue Feb 19 14:40:01 2019 +0000
+++ b/SETUP.hpp Fri Mar 01 21:57:59 2019 +0000
@@ -13,8 +13,6 @@
#define Debounce_Time 100//200 works fine
INTERFACE INTERFACE;
-//If the code compiles GET IN THE BIN
-
//Digital Outputs
DigitalOut led1(LED1);
@@ -43,29 +41,4 @@
//Serial Terminal setup for debugging
Serial pc(USBTX, USBRX); //Define serial namespace so the serial comms can be printed to
-#endif
-
-//Useful information
-/*
- Function 0 = Turn
- Function 1 = Anneal
- Function 2 = Test
-
- Black :Reset : HardWired
- Red :Up : D8
- Orange:Down : A1
- Brown :Start/Stop: D9
- Green :Select : A3
- Yellow:Function : A4
-
-
- //Led Outputs //check the pin outs.
- static DigitalOut Led_Select_Left(D2);
- static DigitalOut Led_Select_Right(D3);
- static DigitalOut Led_Power(A3);
-
- TextLCD lcd(D0,D1,D4,D5,D6,D7); // rs, e, d4-d7
- TendonPower (PWM) pin is PE_8 one below d0
- STEPPER_MOTOR STEPPER_MOTOR_1(D15,D14,D13,D12) this is defined in interface.hpp
-*/
-
\ No newline at end of file
+#endif
\ No newline at end of file
--- a/main.cpp Tue Feb 19 14:40:01 2019 +0000
+++ b/main.cpp Fri Mar 01 21:57:59 2019 +0000
@@ -1,10 +1,9 @@
#include "SETUP.hpp"
-void Polling_thread_function()// Polling thread for the buttons
+void Polling_thread_function()// Polling thread to look for button press
{
while(1)
{
- //printf("In polling\n");//Check the value
- if(button_up.read() == 0)
+ if(button_up.read() == 0) //This checks the Up button
{
printf("Up button read\n");
Thread::wait(Debounce_Time);
@@ -14,7 +13,7 @@
up_thread.signal_set(1);
}
}
- if(button_down.read() == 0)
+ if(button_down.read() == 0) //This checks the Down button
{
printf("Down button read\n");
Thread::wait(Debounce_Time);
@@ -23,7 +22,7 @@
down_thread.signal_set(1);
}
}
- if(button_start.read() == 0)
+ if(button_start.read() == 0) //This checks the Start/Stop button
{
printf("Start/Stop button read\n");
Thread::wait(Debounce_Time);
@@ -32,7 +31,7 @@
start_stop_thread.signal_set(1);
}
}
- if(button_function.read() == 0)
+ if(button_function.read() == 0) //This checks the Function button
{
printf("Function button read\n");
Thread::wait(Debounce_Time);
@@ -41,7 +40,7 @@
function_thread.signal_set(1);
}
}
- if(button_select.read() == 0)
+ if(button_select.read() == 0) //This checks the Select button
{
printf("Select button read\n");
Thread::wait(Debounce_Time);
@@ -53,36 +52,39 @@
Thread::wait(50);
}
}
-void LCD_thread()//Output data to the LCD for the interface
+void LCD_thread() //Output data to the LCD for the interface
+ /*
+ This section of the code decides what data that should be sent to the LCD for each of the modes of the system.
+ */
{
while(1)
{
lcd.cls();//Clear the LCD screen
- if(INTERFACE.Get_Function() == 0)//Anneal
+ if(INTERFACE.Get_Function() == 0)//Anneal Mode display
{
- lcd.printf("Mode: Anneal\n");
+ lcd.printf("Mode: Anneal\n"); //Top LCD line when the device is annealing
if(INTERFACE.Get_Select() == 0 || INTERFACE.Get_Select() == 1)
{
- lcd.printf("Loop:%d On_t:%d\n",INTERFACE.Get_Loop(),INTERFACE.Get_On_Time());
+ lcd.printf("Loop:%d On_t:%d\n",INTERFACE.Get_Loop(),INTERFACE.Get_On_Time()); //When the On value is selected
}
else if(INTERFACE.Get_Select() == 2)
{
- lcd.printf("Loop:%d Offt:%d\n",INTERFACE.Get_Loop(),INTERFACE.Get_Off_Time());
+ lcd.printf("Loop:%d Offt:%d\n",INTERFACE.Get_Loop(),INTERFACE.Get_Off_Time()); //When the Off value is selected
}
}
- else if(INTERFACE.Get_Function() == 1)//Test
+ else if(INTERFACE.Get_Function() == 1)//Testing mode display
{
- lcd.printf("Mode: Test\n");
+ lcd.printf("Mode: Test\n"); //Top LCD line when the device is Testing
lcd.printf("Duty: %dTime: %d\n",INTERFACE.Get_Duty_Cycle(),INTERFACE.Get_Power_Time());
}
else if(INTERFACE.Get_Function() == 2)//Coil
{
- lcd.printf("Mode: Coil\n");
+ lcd.printf("Mode: Coil\n"); //Top LCD line when the device is Coiling
lcd.printf("Done:%dToDo: %d\n",INTERFACE.Get_Turns_Done(),INTERFACE.Get_Turns_To_Do());
}
else if(INTERFACE.Get_Function() == 3)//Twist
{
- lcd.printf("Mode: Twist\n");
+ lcd.printf("Mode: Twist\n"); //Top LCD line when the device is Twisting
lcd.printf("Done:%dToDo: %d\n",INTERFACE.Get_Turns_Done(),INTERFACE.Get_Turns_To_Do());
}
Thread::wait(250);//Refresh rate for Lcd
@@ -177,7 +179,7 @@
Thread::wait(1000);
pc.printf("Program start\n");//Outputs informtation to the putty terminal
- //Thread Starts
+ //Thread Initialisation
polling_thread.start(Polling_thread_function);//Start the button polling
lcd_thread.start(LCD_thread);//Output data to LCD
led_thread.start(LED_thread);//Blinking led to show CPU running