Plymouth ELEC351 Group T
/
ELEC351_Group_T
FINAL PROJECT isn't it
Fork of ELEC351 by
Diff: main.cpp
- Revision:
- 56:bc5345bc6650
- Parent:
- 55:e0e684531825
- Child:
- 57:aba1296e51b1
--- a/main.cpp Thu May 24 13:31:20 2018 +0000 +++ b/main.cpp Mon Jul 16 10:51:47 2018 +0000 @@ -14,247 +14,11 @@ */ //Colours Cubelet_Colours_string[]; -int colour_data = 0; -int temp_colour_data_1 = 0; -int temp_colour_data_2 = 0; -int temp_colour_data_3 = 0; -int temp_colour_data_4 = 0; -int temp_colour_data_5 = 0; -int temp_colour_data_6 = 0; -int temp_colour_data_7 = 0; -int temp_colour_data_8 = 0; -int temp_colour_data_9 = 0; -int SPI_RX_DATA = 0; -int Cubelet_Colours[9] = {0,0,0,0,0,0,0,0,0};//9 cubelets store colours here -int Received_data = 0; -bool Data_from_slave[16] = {0}; - -//Interrupt service routine for handling the timeout of SW1 -void SW1TimeOutHandler() { - SW1TimeOut.detach(); //Stop the timeout counter firing - SW1.fall(&SW1FallingEdge); //Now wait for a falling edge -} -//Interrupt service routive for SW2 falling edge (release) -void SW1FallingEdge() { - SW1.fall(NULL); //Disable this interrupt - SW1TimeOut.attach(&SW1TimeOutHandler, SW1_SW2_Timeout_Time); //Start timeout counter -} -//Interrupt service routine for handling the timeout of SW2 -void SW2TimeOutHandler() { - SW2TimeOut.detach(); //Stop the timeout counter firing - SW2.fall(&SW2FallingEdge); //Now wait for a falling edge -} -//Interrupt service routive for SW2 falling edge (release) -void SW2FallingEdge() { - SW2.fall(NULL); //Disable this interrupt - SW2TimeOut.attach(&SW2TimeOutHandler, SW1_SW2_Timeout_Time); //Start timeout counter -} -void LCD_Output() -{ - while(1) - { - //Write to the LCD - } -} -void Serial_Commands() -{ - while(1) - { - Serial_Commands_Output(); //Enable Serial Commands - } -} -void LED_Logging() -{ - while(1) - { - Log_Leds(); //Flashes the yellow led to indicate the logging mode - } -} - -void SPI_INTERFACE() -{ - //pc.printf("SPI Test \n"); - Thread::wait(1000); - while(1) - { - cs= 0; - SPI_RX_DATA = spi.write(0xF0); - wait_us(3); - cs= 1; - colour_data = SPI_RX_DATA; - pc.printf("Received data = %d\n", SPI_RX_DATA); - Thread::wait(1000); - } -} -Colours convert (int Colour) -{ - Colours colours_return_value; - if(Colour == 1) - { - colours_return_value = White; - } - else if(Colour == 2) - { - colours_return_value = Orange; - } - else if(Colour == 3) - { - colours_return_value = Blue; - } - else if(Colour == 4) - { - colours_return_value = Red; - } - else if(Colour == 5) - { - colours_return_value = Green; - } - else if(Colour == 6) - { - colours_return_value = Yellow; - } - return colours_return_value; -} -void Store_Cubelet_data() -{ - if((8 >= colour_data) && (colour_data <= 15)) - { - temp_colour_data_1 = colour_data - 8;//Result shall be the colour - Cubelet_Colours[0] = temp_colour_data_1;//Stores the colour value to the mememory map - //take colour_data postion value and subtract it and you will be left with just the colour - } - - if((16 >= colour_data) && (colour_data <= 23)) - { - temp_colour_data_2 = colour_data - 16;//Result shall be the colour - Cubelet_Colours[1] = temp_colour_data_2;//Stores the colour value to the mememory map - //take colour_data postion value and subtract it and you will be left with just the colour - } - if((24 >= colour_data) && (colour_data <= 31)) - { - temp_colour_data_3 = colour_data - 24;//Result shall be the colour - Cubelet_Colours[2] = temp_colour_data_3;//Stores the colour value to the mememory map - //take colour_data postion value and subtract it and you will be left with just the colour - } - if((32 >= colour_data) && (colour_data <= 39)) - { - temp_colour_data_4 = colour_data - 32;//Result shall be the colour - Cubelet_Colours[3] = temp_colour_data_4;//Stores the colour value to the mememory map - //take colour_data postion value and subtract it and you will be left with just the colour - } - if((40 >= colour_data) && (colour_data <= 47)) - { - temp_colour_data_5 = colour_data - 40;//Result shall be the colour - Cubelet_Colours[4] = temp_colour_data_5;//Stores the colour value to the mememory map - //take colour_data postion value and subtract it and you will be left with just the colour - } - if((48 >= colour_data) && (colour_data <= 55)) - { - temp_colour_data_6 = colour_data - 48;//Result shall be the colour - Cubelet_Colours[5] = temp_colour_data_6;//Stores the colour value to the mememory map - //take colour_data postion value and subtract it and you will be left with just the colour - } - if((56 >= colour_data) && (colour_data <= 63)) - { - temp_colour_data_7 = colour_data - 56;//Result shall be the colour - Cubelet_Colours[6] = temp_colour_data_7;//Stores the colour value to the mememory map - //take colour_data postion value and subtract it and you will be left with just the colour - } - if((64 >= colour_data) && (colour_data <= 71)) - { - temp_colour_data_8 = colour_data - 64;//Result shall be the colour - Cubelet_Colours[7] = temp_colour_data_8;//Stores the colour value to the mememory map - //take colour_data postion value and subtract it and you will be left with just the colour - } - if((72 >= colour_data) && (colour_data <= 79)) - { - temp_colour_data_9 = colour_data - 72;//Result shall be the colour - Cubelet_Colours[8] = temp_colour_data_9;//Stores the colour value to the mememory map - //take colour_data postion value and subtract it and you will be left with just the colour - } - - - if(Cubelet_Colours[5] == 1)//Store data to the white side - { - CubeMap[0][0][0] = convert(Cubelet_Colours[0]); - CubeMap[0][0][1] = convert(Cubelet_Colours[1]); - CubeMap[0][0][2] = convert(Cubelet_Colours[2]); - CubeMap[0][1][0] = convert(Cubelet_Colours[3]); - CubeMap[0][1][1] = convert(Cubelet_Colours[4]); - CubeMap[0][1][2] = convert(Cubelet_Colours[5]); - CubeMap[0][2][0] = convert(Cubelet_Colours[6]); - CubeMap[0][2][1] = convert(Cubelet_Colours[7]); - CubeMap[0][2][2] = convert(Cubelet_Colours[8]); - //Store this to the white face - } - if(Cubelet_Colours[5] == 2)//Store data to the orange side - { - CubeMap[1][0][0] = convert(Cubelet_Colours[0]); - CubeMap[1][0][1] = convert(Cubelet_Colours[1]); - CubeMap[1][0][2] = convert(Cubelet_Colours[2]); - CubeMap[1][1][0] = convert(Cubelet_Colours[3]); - CubeMap[1][1][1] = convert(Cubelet_Colours[4]); - CubeMap[1][1][2] = convert(Cubelet_Colours[5]); - CubeMap[1][2][0] = convert(Cubelet_Colours[6]); - CubeMap[1][2][1] = convert(Cubelet_Colours[7]); - CubeMap[1][2][2] = convert(Cubelet_Colours[8]); - //Store this to the white face - } - if(Cubelet_Colours[5] == 3)//Store data to the blue side - { - CubeMap[2][0][0] = convert(Cubelet_Colours[0]); - CubeMap[2][0][1] = convert(Cubelet_Colours[1]); - CubeMap[2][0][2] = convert(Cubelet_Colours[2]); - CubeMap[2][1][0] = convert(Cubelet_Colours[3]); - CubeMap[2][1][1] = convert(Cubelet_Colours[4]); - CubeMap[2][1][2] = convert(Cubelet_Colours[5]); - CubeMap[2][2][0] = convert(Cubelet_Colours[6]); - CubeMap[2][2][1] = convert(Cubelet_Colours[7]); - CubeMap[2][2][2] = convert(Cubelet_Colours[8]); - //Store this to the white face - } - if(Cubelet_Colours[5] == 4)//Store data to the red side - { - CubeMap[3][0][0] = convert(Cubelet_Colours[0]); - CubeMap[3][0][1] = convert(Cubelet_Colours[1]); - CubeMap[3][0][2] = convert(Cubelet_Colours[2]); - CubeMap[3][1][0] = convert(Cubelet_Colours[3]); - CubeMap[3][1][1] = convert(Cubelet_Colours[4]); - CubeMap[3][1][2] = convert(Cubelet_Colours[5]); - CubeMap[3][2][0] = convert(Cubelet_Colours[6]); - CubeMap[3][2][1] = convert(Cubelet_Colours[7]); - CubeMap[3][2][2] = convert(Cubelet_Colours[8]); - //Store this to the white face - } - if(Cubelet_Colours[5] == 5)//Store data to the green side - { - CubeMap[4][0][0] = convert(Cubelet_Colours[0]); - CubeMap[4][0][1] = convert(Cubelet_Colours[1]); - CubeMap[4][0][2] = convert(Cubelet_Colours[2]); - CubeMap[4][1][0] = convert(Cubelet_Colours[3]); - CubeMap[4][1][1] = convert(Cubelet_Colours[4]); - CubeMap[4][1][2] = convert(Cubelet_Colours[5]); - CubeMap[4][2][0] = convert(Cubelet_Colours[6]); - CubeMap[4][2][1] = convert(Cubelet_Colours[7]); - CubeMap[4][2][2] = convert(Cubelet_Colours[8]); - //Store this to the white face - } - if(Cubelet_Colours[5] == 6)//Store data to the yellow side - { - CubeMap[5][0][0] = convert(Cubelet_Colours[0]); - CubeMap[5][0][1] = convert(Cubelet_Colours[1]); - CubeMap[5][0][2] = convert(Cubelet_Colours[2]); - CubeMap[5][1][0] = convert(Cubelet_Colours[3]); - CubeMap[5][1][1] = convert(Cubelet_Colours[4]); - CubeMap[5][1][2] = convert(Cubelet_Colours[5]); - CubeMap[5][2][0] = convert(Cubelet_Colours[6]); - CubeMap[5][2][1] = convert(Cubelet_Colours[7]); - CubeMap[5][2][2] = convert(Cubelet_Colours[8]); - //Store this to the white face - } -} +void Serial_Commands(){while(1){Serial_Commands_Output();}}//Enable Serial Commands +void LED_Logging(){while(1){Log_Leds();}} //Flashes the yellow led to indicate the logging mode +void SPI_INTERFACE(){while(1){SPI_INTERFACE_SERIAL();}} //Outputs SPI data to serial void Motor_Control() { @@ -297,7 +61,6 @@ } } } - int main() { pc.baud(9600); //Sets the Serial Comms Baud Rate @@ -315,8 +78,7 @@ t2.start(SPI_INTERFACE); t3.start(Serial_Commands); //Interrupts - SW1.fall(&SW1FallingEdge); - SW2.fall(&SW2FallingEdge); + //Main thread ID idMain = osThreadGetId(); //CMSIS RTOS call