Project Embedded Systems E-ict Denayer
Dependencies: BSP_DISCO_F746NG F7_Ethernet LCD_DISCO_F746NG TS_DISCO_F746NG mbed-rtos mbed
main.cpp
- Committer:
- Ayrton_L
- Date:
- 2017-01-21
- Revision:
- 0:16bcf70d262e
- Child:
- 1:a2f7adf6db3d
File content as of revision 0:16bcf70d262e:
#include "main.h" // regel 68: enum schrijven voor IP/netmask... en vergelijken binnen main uint32_t ul_ResetDisplay( ) { display.Clear( LCD_COLOR_WHITE ); display.SetBackColor( LCD_COLOR_WHITE ); display.SetTextColor( LCD_COLOR_BLACK ); return 0; } uint32_t ul_CheckDHCP( struct Network x_DynNetwork ) //while lus, iedere seconde eens checken of er geen verandering is { if( Eth.init( ) == 0 ) { char c_NewIP[16]; Eth.connect( ); strncpy( c_NewIP, Eth.getIPAddress( ), 16 ); if( strcmp( x_DynNetwork.c_IPAddress, c_NewIP ) == false ) { strncpy( x_DynNetwork.c_IPAddress, c_NewIP, 16 ); strncpy( x_DynNetwork.c_MACAddress, Eth.getMACAddress( ), 16 ); strncpy( x_DynNetwork.c_Netmask, Eth.getNetworkMask( ), 16 ); strncpy( x_DynNetwork.c_Gateway, Eth.getGateway( ), 16 ); } return 0; } else { display.DisplayStringAt( 0, 10, ( uint8_t * )"DHCP: FAILED: ", LEFT_MODE ); return 1; } } uint32_t ul_CheckInternet( ) { return 0; } uint32_t ul_CreateMenu( ) { //480x272 display.DrawRect( 0, 0, 125, 68); display.DisplayStringAt( 2, 34, ( uint8_t * )"DYNAMIC", LEFT_MODE ); display.DrawRect( 0, 68, 125, 68); display.DisplayStringAt( 2, 102, ( uint8_t * )"STATIC", LEFT_MODE ); return 0; } uint32_t ul_ShowDynamicMenu( struct Network x_DynNetwork ) { ul_ResetDisplay( ); ul_CreateMenu( ); display.SetFont( &Font16 ); display.DisplayStringAt( 130, 10, ( uint8_t * )"IP address: ", LEFT_MODE ); display.DisplayStringAt( 270, 10, ( uint8_t * )&x_DynNetwork.c_IPAddress, LEFT_MODE ); display.DisplayStringAt( 130, 30, ( uint8_t * )"MAC Address: ", LEFT_MODE ); display.DisplayStringAt( 270, 30, ( uint8_t * )&x_DynNetwork.c_MACAddress, LEFT_MODE ); display.DisplayStringAt( 130, 50, ( uint8_t * )"Netmask: ", LEFT_MODE ); display.DisplayStringAt( 270, 50, ( uint8_t * )&x_DynNetwork.c_Netmask, LEFT_MODE ); display.DisplayStringAt( 130, 70, ( uint8_t * )"Gateway: ", LEFT_MODE ); display.DisplayStringAt( 270, 70, ( uint8_t * )&x_DynNetwork.c_Gateway, LEFT_MODE ); return 0; } uint32_t ul_ShowStaticMenu( ) { ul_ResetDisplay( ); ul_CreateMenu( ); display.DrawRect( 125, 0, 125, 68); display.DisplayStringAt( 130, 34, ( uint8_t * )"IP", LEFT_MODE ); display.DrawRect( 125, 68, 125, 68); display.DisplayStringAt( 130, 102, ( uint8_t * )"Gateway", LEFT_MODE ); display.DrawRect( 125, 136, 125, 68); display.DisplayStringAt( 130, 170, ( uint8_t * )"Netmask", LEFT_MODE ); return 0; } void v_TouchThread( void const *args ) { TS_StateTypeDef Touch_State; Touch.Init( 420, 272 ); while( 1 ) { Touch.GetState( &Touch_State ); if( ( Touch_State.touchDetected )&& ( Touch_State.touchX[0] < 125 )&& ( Touch_State.touchY[0] < 69 ) ) { b_Dynamic = true; } else if( ( Touch_State.touchDetected )&& ( Touch_State.touchX[0] < 125 )&& ( Touch_State.touchY[0] > 68 )&& ( Touch_State.touchY[0] < 137 ) ) { b_Dynamic = false; } else if( ( Touch_State.touchDetected )&& ( Touch_State.touchX[0] > 125 )&& ( Touch_State.touchY[0] < 68 )&& ( b_Dynamic == false) ) //button for static IP { } } } int main( ) { struct Network x_DynNetwork; ul_ResetDisplay( ); ul_CreateMenu( ); Thread t_Touch( v_TouchThread ); t_Touch.set_priority( osPriorityNormal ); if( b_Dynamic == true ) { if( ul_CheckDHCP( x_DynNetwork ) == 0 ) { ul_ShowDynamicMenu( x_DynNetwork ); ul_CheckInternet( ); } } else if( b_Dynamic == false ) { ul_ShowStaticMenu( ); } return 0; }