2018-06-14 03:42 AM
Im adding to touch to STM32f746 Disco. Using STCubeMx and STemwin + Guibuilder. When trying to add touch I add the following two include files to main.h
&sharpinclude 'stm32746g_discovery.h'
&sharpinclude 'stm32746g_discovery_ts.h'when I compile I two errors pop up :
undefined reference to 'BSP_TS_GetState'
undefined reference to BSP_TS_Init'
These are referenced in the stm32f746_discovery_ts.h can someone tell me what these errors mean.
they are used in functions below from main.c (highlighted in bold)
void TouchTimer_Init()
{
BSP_TS_Init(480,272); // initialize touch screen if (HAL_TIM_Base_Init(&htim3) != HAL_OK ) {while (1);} // start timers if (HAL_TIM_Base_Start_IT(&htim3) != HAL_OK ) {while (1);}}and
void BSP_Pointer_Update(void)
{ GUI_PID_STATE TS_State; // structure that reports touch state static TS_StateTypeDef prev_state; // previous touch state from touch sensor TS_StateTypeDef ts; // actual touch state from the sensor from BSP package uint16_t xDiff, yDiff; // difference in positions BSP_TS_GetState(&ts); // read the touch state from sensor BSP API TS_State.Pressed = ts.touchDetected; // Store the pressed state to StemwinxDiff = (prev_state.touchX[0] > ts.touchX) ? (prev_state.touchX[0] - ts.touchX[0]) : (ts.touchX[0] - prev_state.touchX[0]);
yDiff = (prev_state.touchY[0] > ts.touchY) ? (prev_state.touchY[0] - ts.touchY[0]) : (ts.touchY[0] - prev_state.touchY[0]);if((prev_state.touchDetected = ts.touchDetected )|| (xDiff > 3 )||(yDiff > 3))
{
prev_state.touchDetected = ts.touchDetected;if((ts.touchX[0] != 0) && (ts.touchY[0] != 0))
{ prev_state.touchX[0] = ts.touchX[0]; prev_state.touchY[0]= ts.touchY[0]; } TS_State.Layer = 0; TS_State.x = prev_state.touchX[0]; TS_State.y = prev_state.touchY[0]; //send touch state to stemnwin GUI_TOUCH_StoreStateEx(&TS_State);}
}#undefined-reference #stm32f746-discovery #touchSolved! Go to Solution.
2018-06-14 04:26 AM
Compile errors or link errors?
You would need to make sure your project contains stm32746g_discovery_ts.c so the body code is present.
Also that has dependencies on stm32746g_discovery_lcd.c and ft5336.c
Other components must be enabled via stm32f7xx_hal_conf.h in your project directory.
2018-06-14 04:26 AM
Compile errors or link errors?
You would need to make sure your project contains stm32746g_discovery_ts.c so the body code is present.
Also that has dependencies on stm32746g_discovery_lcd.c and ft5336.c
Other components must be enabled via stm32f7xx_hal_conf.h in your project directory.
2018-06-14 09:11 AM
thanks Clive, yes linking.
I have created BSP directory and added stm32746g_discovery_ts.c as well as stm32746g_dicovery_lcd.c and the touch driver ft5336.c.
and can now debug.
My main aim here is to have a bare metal IOC file with touch functionality, STEMwin and guibuilder all in order for me to add and remove perhipherals in Cubemx and then code applications from there.
2018-07-13 07:31 AM
Hi
brink.melt.001
,My main aim here is to have a bare metal IOC file with touch functionality, STEMwin and guibuilder all in order for me to add and remove perhipherals in Cubemx and then code applications from there.
I think that
will answer your request.-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.