set home
This commit is contained in:
parent
b478600af6
commit
6d7e744ddb
@ -23,6 +23,8 @@ typedef struct{
|
||||
uint32_t step_itvl;
|
||||
uint8_t step_max;
|
||||
uint32_t tick_counter;
|
||||
int32_t steps_counter;
|
||||
uint8_t stopAtHome;
|
||||
|
||||
GPIO_TypeDef* EN_GPIO_Port;
|
||||
uint16_t EN_GPIO_Pin;
|
||||
|
@ -17,6 +17,7 @@
|
||||
void pse_sp_start_axis(pse_stepper_conf* conf);
|
||||
void pse_sp_stop_axis(pse_stepper_conf* conf);
|
||||
void pse_sp_set_dir(pse_stepper_conf* conf, int dir);
|
||||
//int pse_sp_get_dir(pse_stepper_conf* conf);
|
||||
void pse_stepper_planer_tick(pse_unit* units, uint8_t units_num);
|
||||
|
||||
void pse_sp_start_all(pse_unit* units, int unit_num);
|
||||
|
@ -160,6 +160,15 @@ static void jog_backward_button_handler(lv_event_t* e){
|
||||
pse_sp_stop_axis(unit->stepper_conf);
|
||||
}
|
||||
}
|
||||
static void set_home_button_handler(lv_event_t* e){
|
||||
lv_event_code_t code = lv_event_get_code(e);
|
||||
|
||||
pse_unit* unit = lv_event_get_user_data(e);
|
||||
|
||||
if(code == LV_EVENT_CLICKED) {
|
||||
unit->stepper_conf->steps_counter = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static lv_obj_t* controls_widget(lv_obj_t* parent, pse_unit* unit){
|
||||
// The main container
|
||||
@ -189,6 +198,7 @@ static lv_obj_t* controls_widget(lv_obj_t* parent, pse_unit* unit){
|
||||
lv_obj_t* home_label = lv_label_create(home);
|
||||
lv_obj_set_width(home, lv_pct(100));
|
||||
lv_obj_set_flex_grow(home, 1);
|
||||
lv_obj_add_event_cb(home, set_home_button_handler, LV_EVENT_ALL, unit);
|
||||
lv_label_set_text(home_label, LV_SYMBOL_HOME);
|
||||
lv_obj_center(home_label);
|
||||
return cont;
|
||||
|
@ -62,6 +62,19 @@ static void unit_widget_enabled_handler(lv_event_t * e){
|
||||
}
|
||||
}
|
||||
|
||||
static void unit_home_handler(lv_event_t * e){
|
||||
lv_event_code_t code = lv_event_get_code(e);
|
||||
|
||||
if(code == LV_EVENT_CLICKED) {
|
||||
pse_unit* unit = lv_event_get_user_data(e);
|
||||
pse_stepper_conf* c = unit->stepper_conf;
|
||||
c->stopAtHome = 1;
|
||||
c->step_max = 1;
|
||||
pse_sp_set_dir(c, 1);
|
||||
pse_sp_start_axis(c);
|
||||
}
|
||||
}
|
||||
|
||||
static void unit_widget_clicked_handler(lv_event_t* e){
|
||||
lv_event_code_t code = lv_event_get_code(e);
|
||||
|
||||
@ -94,6 +107,7 @@ static lv_obj_t* PSE_unit_widget(lv_obj_t* parent, pse_unit* pse_unit){
|
||||
lv_obj_t* home = lv_btn_create(cont);
|
||||
lv_obj_t* home_label = lv_label_create(home);
|
||||
lv_obj_set_width(home, lv_pct(100));
|
||||
lv_obj_add_event_cb(home, unit_home_handler, LV_EVENT_ALL, pse_unit);
|
||||
lv_obj_set_flex_grow(home, 1);
|
||||
lv_obj_center(home_label);
|
||||
lv_label_set_text(home_label, LV_SYMBOL_HOME);
|
||||
|
@ -42,7 +42,7 @@
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
/* USER CODE BEGIN PD */
|
||||
#define BUFF_SIZE (320 * 10)
|
||||
#define BUFF_SIZE (320 * 5)
|
||||
#define LCD_WIDTH 320
|
||||
#define LCD_HEIGHT 240
|
||||
/* USER CODE END PD */
|
||||
@ -155,7 +155,7 @@ void my_flush_cb(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * buf)
|
||||
drawYmax = area->y2;
|
||||
ILI9341_SetCursor(area->x1,drawY);
|
||||
ILI9341_WriteRam();
|
||||
drawLineLen = (area->x2 - area->x1);
|
||||
drawLineLen = (area->x2 - area->x1)+1;
|
||||
drawY++;
|
||||
drawBuf = buf;
|
||||
drawDisp = disp;
|
||||
@ -387,7 +387,7 @@ static void MX_TIM4_Init(void)
|
||||
htim4.Instance = TIM4;
|
||||
htim4.Init.Prescaler = 64;
|
||||
htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim4.Init.Period = 50;
|
||||
htim4.Init.Period = 100;
|
||||
htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
|
||||
if (HAL_TIM_Base_Init(&htim4) != HAL_OK)
|
||||
@ -643,7 +643,7 @@ void XferCpltCallback(DMA_HandleTypeDef *hdma){
|
||||
ILI9341_SetCursor(drawXmin,drawY);
|
||||
ILI9341_WriteRam();
|
||||
drawY++;
|
||||
drawBuf+=drawLineLen+1;
|
||||
drawBuf+=drawLineLen;
|
||||
hdma_memtomem_dma2_channel1.XferCpltCallback=&XferCpltCallback;
|
||||
HAL_DMA_Start_IT(&hdma_memtomem_dma2_channel1, (uint32_t)drawBuf, (uint32_t)LCD_IO_getDataPt(), drawLineLen);
|
||||
}
|
||||
|
@ -29,6 +29,10 @@ void pse_stepper_planer_tick(pse_unit* units, uint8_t units_num){
|
||||
}
|
||||
c->tick_counter++;
|
||||
HAL_GPIO_WritePin(c->STEP_GPIO_Port, c->STEP_GPIO_Pin, state);
|
||||
/*c->steps_counter += (pse_sp_get_dir(c)?1:-1) * (state?1:0);
|
||||
if(c->stopAtHome && c->steps_counter == 0){
|
||||
pse_sp_stop_axis(c);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
@ -54,6 +58,9 @@ void pse_sp_set_dir(pse_stepper_conf* conf, int dir){
|
||||
HAL_GPIO_WritePin(conf->DIR_GPIO_Port, conf->DIR_GPIO_Pin, dir);
|
||||
}
|
||||
|
||||
/*int pse_sp_get_dir(pse_stepper_conf* conf){
|
||||
return HAL_GPIO_ReadPin(conf->DIR_GPIO_Port, conf->DIR_GPIO_Pin);
|
||||
}*/
|
||||
|
||||
void pse_stepper_planer_compute_sps(pse_unit* unit){
|
||||
pse_stepper_conf* c = unit->stepper_conf;
|
||||
|
@ -49,7 +49,7 @@
|
||||
#define LV_MEM_CUSTOM 0
|
||||
#if LV_MEM_CUSTOM == 0
|
||||
/*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/
|
||||
#define LV_MEM_SIZE (32U * 1024U) /*[bytes]*/
|
||||
#define LV_MEM_SIZE (48U * 1024U) /*[bytes]*/
|
||||
|
||||
/*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/
|
||||
#define LV_MEM_ADR 0 /*0: unused*/
|
||||
|
2
PSE.ioc
2
PSE.ioc
@ -312,7 +312,7 @@ SDIO.HardwareFlowControl=SDIO_HARDWARE_FLOW_CONTROL_DISABLE
|
||||
SDIO.IPParameters=ClockDiv,HardwareFlowControl
|
||||
TIM4.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
|
||||
TIM4.IPParameters=Prescaler,Period,AutoReloadPreload
|
||||
TIM4.Period=50
|
||||
TIM4.Period=100
|
||||
TIM4.Prescaler=64
|
||||
USART1.IPParameters=VirtualMode
|
||||
USART1.VirtualMode=VM_ASYNC
|
||||
|
188
PSE.txt
Normal file
188
PSE.txt
Normal file
@ -0,0 +1,188 @@
|
||||
Configuration PSE
|
||||
STM32CubeMX 6.9.1
|
||||
Date 08/24/2023
|
||||
MCU STM32F103VETx
|
||||
|
||||
|
||||
|
||||
PERIPHERALS MODES FUNCTIONS PINS
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 NE1 FSMC_NE1 PD7
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 LCD Interface FSMC_NOE PD4
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 LCD Interface FSMC_NWE PD5
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 A16 FSMC_A16 PD11
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D0 PD14
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D1 PD15
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D2 PD0
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D3 PD1
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D4 PE7
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D5 PE8
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D6 PE9
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D7 PE10
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D8 PE11
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D9 PE12
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D10 PE13
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D11 PE14
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D12 PE15
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D13 PD8
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D14 PD9
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D15 PD10
|
||||
SDIO SD 1 bit SDIO_CK PC12
|
||||
SDIO SD 1 bit SDIO_CMD PD2
|
||||
SDIO SD 1 bit SDIO_D0 PC8
|
||||
SYS SysTick SYS_VS_Systick VP_SYS_VS_Systick
|
||||
TIM4 Internal Clock TIM4_VS_ClockSourceINT VP_TIM4_VS_ClockSourceINT
|
||||
USART1 Asynchronous USART1_RX PA10
|
||||
USART1 Asynchronous USART1_TX PA9
|
||||
|
||||
|
||||
|
||||
Pin Nb PINs FUNCTIONs LABELs
|
||||
1 PE2 GPIO_Output E_STEPPER_DIR
|
||||
2 PE3 GPIO_Output E_STEPPER_STEP
|
||||
3 PE4 GPIO_Output E_STEPPER_EN
|
||||
17 PC2 GPIO_Output LED
|
||||
33 PC4 GPIO_Output LCD_RST
|
||||
38 PE7 FSMC_D4
|
||||
39 PE8 FSMC_D5
|
||||
40 PE9 FSMC_D6
|
||||
41 PE10 FSMC_D7
|
||||
42 PE11 FSMC_D8
|
||||
43 PE12 FSMC_D9
|
||||
44 PE13 FSMC_D10
|
||||
45 PE14 FSMC_D11
|
||||
46 PE15 FSMC_D12
|
||||
51 PB12 GPIO_Output ADS7843_CS
|
||||
52 PB13 GPIO_Output ADS7843_SCK
|
||||
53 PB14 GPIO_Output ADS7843_MOSI
|
||||
54 PB15 GPIO_Input ADS7843_MISO
|
||||
55 PD8 FSMC_D13
|
||||
56 PD9 FSMC_D14
|
||||
57 PD10 FSMC_D15
|
||||
58 PD11 FSMC_A16
|
||||
59 PD12 GPIO_Output LCD_CS
|
||||
61 PD14 FSMC_D0
|
||||
62 PD15 FSMC_D1
|
||||
63 PC6 GPIO_Input ADS7843_Int
|
||||
65 PC8 SDIO_D0
|
||||
68 PA9 USART1_TX
|
||||
69 PA10 USART1_RX
|
||||
80 PC12 SDIO_CK
|
||||
81 PD0 FSMC_D2
|
||||
82 PD1 FSMC_D3
|
||||
83 PD2 SDIO_CMD
|
||||
85 PD4 FSMC_NOE
|
||||
86 PD5 FSMC_NWE
|
||||
88 PD7 FSMC_NE1
|
||||
89 PB3 GPIO_Output X_STEPPER_DIR
|
||||
90 PB4 GPIO_Output X_STEPPER_STEP
|
||||
91 PB5 GPIO_Output X_STEPPER_EN
|
||||
92 PB6 GPIO_Output Y_STEPPER_DIR
|
||||
93 PB7 GPIO_Output Y_STEPPER_STEP
|
||||
95 PB8 GPIO_Output Y_STEPPER_EN
|
||||
96 PB9 GPIO_Output Z_STEPPER_DIR
|
||||
97 PE0 GPIO_Output Z_STEPPER_STEP
|
||||
98 PE1 GPIO_Output Z_STEPPER_EN
|
||||
PERIPHERALS MODES FUNCTIONS PINS
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 NE1 FSMC_NE1 PD7
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 LCD Interface FSMC_NOE PD4
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 LCD Interface FSMC_NWE PD5
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 A16 FSMC_A16 PD11
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D0 PD14
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D1 PD15
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D2 PD0
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D3 PD1
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D4 PE7
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D5 PE8
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D6 PE9
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D7 PE10
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D8 PE11
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D9 PE12
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D10 PE13
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D11 PE14
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D12 PE15
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D13 PD8
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D14 PD9
|
||||
FSMC:NOR Flash/PSRAM/SRAM/ROM/LCD 1 16 bits FSMC_D15 PD10
|
||||
SDIO SD 1 bit SDIO_CK PC12
|
||||
SDIO SD 1 bit SDIO_CMD PD2
|
||||
SDIO SD 1 bit SDIO_D0 PC8
|
||||
SYS SysTick SYS_VS_Systick VP_SYS_VS_Systick
|
||||
TIM4 Internal Clock TIM4_VS_ClockSourceINT VP_TIM4_VS_ClockSourceINT
|
||||
USART1 Asynchronous USART1_RX PA10
|
||||
USART1 Asynchronous USART1_TX PA9
|
||||
|
||||
|
||||
|
||||
Pin Nb PINs FUNCTIONs LABELs
|
||||
1 PE2 GPIO_Output E_STEPPER_DIR
|
||||
2 PE3 GPIO_Output E_STEPPER_STEP
|
||||
3 PE4 GPIO_Output E_STEPPER_EN
|
||||
17 PC2 GPIO_Output LED
|
||||
33 PC4 GPIO_Output LCD_RST
|
||||
38 PE7 FSMC_D4
|
||||
39 PE8 FSMC_D5
|
||||
40 PE9 FSMC_D6
|
||||
41 PE10 FSMC_D7
|
||||
42 PE11 FSMC_D8
|
||||
43 PE12 FSMC_D9
|
||||
44 PE13 FSMC_D10
|
||||
45 PE14 FSMC_D11
|
||||
46 PE15 FSMC_D12
|
||||
51 PB12 GPIO_Output ADS7843_CS
|
||||
52 PB13 GPIO_Output ADS7843_SCK
|
||||
53 PB14 GPIO_Output ADS7843_MOSI
|
||||
54 PB15 GPIO_Input ADS7843_MISO
|
||||
55 PD8 FSMC_D13
|
||||
56 PD9 FSMC_D14
|
||||
57 PD10 FSMC_D15
|
||||
58 PD11 FSMC_A16
|
||||
59 PD12 GPIO_Output LCD_CS
|
||||
61 PD14 FSMC_D0
|
||||
62 PD15 FSMC_D1
|
||||
63 PC6 GPIO_Input ADS7843_Int
|
||||
65 PC8 SDIO_D0
|
||||
68 PA9 USART1_TX
|
||||
69 PA10 USART1_RX
|
||||
80 PC12 SDIO_CK
|
||||
81 PD0 FSMC_D2
|
||||
82 PD1 FSMC_D3
|
||||
83 PD2 SDIO_CMD
|
||||
85 PD4 FSMC_NOE
|
||||
86 PD5 FSMC_NWE
|
||||
88 PD7 FSMC_NE1
|
||||
89 PB3 GPIO_Output X_STEPPER_DIR
|
||||
90 PB4 GPIO_Output X_STEPPER_STEP
|
||||
91 PB5 GPIO_Output X_STEPPER_EN
|
||||
92 PB6 GPIO_Output Y_STEPPER_DIR
|
||||
93 PB7 GPIO_Output Y_STEPPER_STEP
|
||||
95 PB8 GPIO_Output Y_STEPPER_EN
|
||||
96 PB9 GPIO_Output Z_STEPPER_DIR
|
||||
97 PE0 GPIO_Output Z_STEPPER_STEP
|
||||
98 PE1 GPIO_Output Z_STEPPER_EN
|
||||
|
||||
|
||||
|
||||
SOFTWARE PROJECT
|
||||
|
||||
Project Settings :
|
||||
Project Name : PSE
|
||||
Project Folder : /home/leo/STM32CubeIDE/workspace_1.13.1/PSE
|
||||
Toolchain / IDE : STM32CubeIDE
|
||||
Firmware Package Name and Version : STM32Cube FW_F1 V1.8.5
|
||||
|
||||
|
||||
Code Generation Settings :
|
||||
STM32Cube MCU packages and embedded software packs : Copy only the necessary library files
|
||||
Generate peripheral initialization as a pair of '.c/.h' files per peripheral : No
|
||||
Backup previously generated files when re-generating : No
|
||||
Delete previously generated files when not re-generated : Yes
|
||||
Set all free pins as analog (to optimize the power consumption) : No
|
||||
|
||||
|
||||
Toolchains Settings :
|
||||
Compiler Optimizations :
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user