parent
6869cb71fa
commit
03295ed99f
@ -0,0 +1,434 @@ |
||||
#include "base.h" |
||||
// #define USE_USB_HS
|
||||
extern osSemaphoreId_t elog_dma_lockHandle; |
||||
int _write(int fd, char *ch, int len) |
||||
{ |
||||
// HAL_UART_Transmit(&huart1, (uint8_t *)ch, len, 0xFFFF);
|
||||
if (osOK == osSemaphoreAcquire(elog_dma_lockHandle, osWaitForever)) |
||||
{ |
||||
HAL_UART_Transmit_DMA(&huart2, (uint8_t *)ch, len); |
||||
} |
||||
return len; |
||||
} |
||||
|
||||
extern struct led led_0; |
||||
// extern struct led led_1;
|
||||
|
||||
// extern osTimerId_t myTimer01Handle;
|
||||
|
||||
// uint8_t send_buf[8] = {0x01,0x03,0x00,0x00,0x00,0x04,0x44,0x09};
|
||||
uint8_t send_buf[24] = {0x01,0x03,0x00,0x00,0x00,0x04,0x44,0x09,0x01,0x03,0x00,0x00,0x00,0x04,0x44,0x09,0x01,0x03,0x00,0x00,0x00,0x04,0x44,0x09}; |
||||
// uint8_t rcv_buf[14] = {0};
|
||||
// uint8_t rcv_buf_2[13] = {0};
|
||||
|
||||
// uint8_t wk2xxx_rcvbuf[1024] ={ 0};
|
||||
WK2114_Sub_Uart_TypeDef *sub_uart1 = NULL; |
||||
uint8_t sub_uart1_receive_buf[1024]; |
||||
|
||||
void MY_INIT( ) |
||||
{ |
||||
// max3243_enable( ); // 使能 3243 供电
|
||||
// uart2_power_enable( );
|
||||
// uart3_power_enable( );
|
||||
// uart4_power_enable( );
|
||||
// uart6_power_enable( );
|
||||
|
||||
// usart6_receive_enable();
|
||||
|
||||
} |
||||
|
||||
|
||||
void measureTimer_Callback(void *argument) |
||||
{ |
||||
log_i("measure timer begin .... " ); |
||||
led_set_state( &led_0, LED_STATE_FLICKER_QUICK ); |
||||
|
||||
int st ; |
||||
st = wk2114_sub_uart_send( wk2114->sub_uart[0], send_buf, sizeof(send_buf) ); |
||||
log_e("send_buf ok addr %d .... st %d " ,send_buf, st); |
||||
|
||||
// osEventFlagsSet(wk2114EventHandle,
|
||||
// MODULE_WK2114_EVENT_EXTI_IT_SOURCE_SENDING);
|
||||
// sc6.start();
|
||||
// oscar.start();
|
||||
// ph.start();
|
||||
// // my_ads1115.start();
|
||||
// memset((void* )result, 0 , 12);
|
||||
} |
||||
|
||||
|
||||
void measureTask(void *argument) |
||||
{ |
||||
int step =0; |
||||
for (;;) |
||||
{
|
||||
osDelay(40); |
||||
} |
||||
} |
||||
|
||||
static void Default_Task_Init() |
||||
{ |
||||
// measuring_flag = 0;
|
||||
uint64_t ticks = 0; |
||||
if ( 0 == Led_Port() ) { |
||||
log_i("Led Port int Ok .... "); |
||||
} |
||||
led_set_state( &led_0, LED_STATE_FLICKER_SLOW ); |
||||
|
||||
|
||||
//WK2xxx 初始化
|
||||
if(0==WK2114_Init()) |
||||
{ |
||||
log_d("wk2114 Init Ok..."); |
||||
}else{ |
||||
log_w("wk2114 Init Failure..."); |
||||
} |
||||
|
||||
|
||||
// 启动任务, 多次重试baud
|
||||
WK2114_Port(); |
||||
// 状态机初始化
|
||||
wk2114->state= WK2114_WORK_STATE_START; |
||||
while( wk2114->state!=WK2114_WORK_TEST_OK ) {osDelay(1);} |
||||
log_d("wk2114 test ok..."); |
||||
wk2114->state= WK2114_WORK_STATE_ADD_SUB_UART; |
||||
while( wk2114->state!=WK2114_WORK_STATE_OK ) {osDelay(1);} |
||||
log_d("wk2114 init subuart ok..."); |
||||
// HAL_Delay(2000);
|
||||
// wk2114_mainport_rcv( wk2114);
|
||||
// osEventFlagsSet(wk2114EventHandle,
|
||||
// MODULE_WK2114_EVENT_EXTI_IT_SOURCE_SENDING);
|
||||
// int st;
|
||||
// // memset(rcvbuf, 0, 1024);
|
||||
// // __HAL_UART_ENABLE_IT(pWK2114Uart, UART_IT_IDLE);
|
||||
// // st =HAL_UART_Receive_DMA(pWK2114Uart, rcvbuf, 1024);
|
||||
|
||||
// wk2114_read_global_reg( wk2114, 0x00);
|
||||
// // osDelay(1);
|
||||
|
||||
// // // wk2114->cmd = (WK2114_CMD_READ_REG<<6)+WK2114_G_REG_GIFR;
|
||||
// // HAL_UART_Transmit(pWK2114Uart, &wk2114->cmd, 1, 0xFFF);
|
||||
// st = HAL_UART_Receive(pWK2114Uart, &wk2114->reg_readout, 1 , 0xFFF);
|
||||
// log_i(" wk2114->reg_readout 0x%02X st %d ", wk2114->reg_readout,st);
|
||||
// wk2114_inter_callback( wk2114);
|
||||
|
||||
|
||||
// // 注册子串口,初始化
|
||||
// sub_uart1 = (WK2114_Sub_Uart_TypeDef *)malloc(sizeof(WK2114_Sub_Uart_TypeDef));
|
||||
// if (0!=wk2114_sub_uart_register(wk2114, sub_uart1,WK2114_S_UART_1,sub_uart1_receive_buf,1024, &huart2, Sub_rcv_callback))
|
||||
// {
|
||||
// log_e("sub-uart 1 register Failure ! ");
|
||||
// };
|
||||
// if (0!=wk2114_sub_uart_init( sub_uart1,115200,WK2114_SUB_UART_MODE_MASK_TX|WK2114_SUB_UART_MODE_MASK_RX,WK2114_SUB_UART_FIFO_MODE_MASK_TX|WK2114_SUB_UART_FIFO_MODE_MASK_RX,WK2114_UART_PARITY_NONE,WK2114_UART_STOP_BITS_1))
|
||||
// {
|
||||
// log_e("sub-uart 1 init Failure ! ");
|
||||
// }
|
||||
|
||||
// log_w( " sub uart init ok .... " );
|
||||
// log_w( " --->>>> count %d " , osMessageQueueGetCount(wk2114->cmd_queue) );
|
||||
|
||||
// memset(rcvbuf, 0, 1024);
|
||||
// __HAL_UART_ENABLE_IT(pWK2114Uart, UART_IT_IDLE);
|
||||
// HAL_UART_Receive_DMA(pWK2114Uart, rcvbuf, 1024);
|
||||
|
||||
// while (osMessageQueueGetCount(wk2114->cmd_queue) > 0)
|
||||
// {
|
||||
// wk2114_send(wk2114);
|
||||
// }
|
||||
// log_i("sub-uart 1 init success ! ");
|
||||
|
||||
// // 启动任务
|
||||
// WK2114_Port();
|
||||
// // 状态机初始化
|
||||
// wk2114->state= WK2114_WORK_STATE_START;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// if ( 0 == ds1302_port() )
|
||||
// {
|
||||
// log_i("ds1302 init Ok .... ");
|
||||
// }
|
||||
|
||||
// ph.init();
|
||||
// ph.port();
|
||||
// ph.test();
|
||||
|
||||
// viper.init();
|
||||
// viper.port();
|
||||
// viper.test();
|
||||
|
||||
// oscar.init();
|
||||
// oscar.port();
|
||||
// oscar.test();
|
||||
|
||||
// sc6.init();
|
||||
// sc6.port();
|
||||
// sc6.test();
|
||||
|
||||
// ramses.init();
|
||||
// ramses.port();
|
||||
// ramses.test();
|
||||
|
||||
// wh_lte.init();
|
||||
// wh_lte.port();
|
||||
// wh_lte.start();
|
||||
|
||||
// wk2114.init();
|
||||
// wh_lte.port();
|
||||
// wh_lte.start();
|
||||
// ticks = osKernelGetTickCount();
|
||||
// while ( viper.state!=Viper_State_Ready )
|
||||
// {
|
||||
// if ( ( osKernelGetTickCount() -ticks) > 3000 )
|
||||
// {
|
||||
// log_e(" VIPER_ state error.... ") ;
|
||||
// break;
|
||||
// }
|
||||
// osDelay(10);
|
||||
// }
|
||||
// log_d(" VIPER_ state OK.... ") ;
|
||||
|
||||
|
||||
// Modbus_Port( );
|
||||
RTOS_Port( ); |
||||
extern osTimerId_t measureTimerHandle; |
||||
osTimerStart( measureTimerHandle, 5000 ); |
||||
|
||||
} |
||||
|
||||
|
||||
void StartDefaultTask(void *argument) |
||||
{ |
||||
HAL_GPIO_WritePin( LED0_GPIO_Port,LED0_Pin,RESET); |
||||
// max3243_enable( );
|
||||
Init_Logger(); |
||||
log_i(" ****** System is initiating ****** "); |
||||
|
||||
Default_Task_Init(); |
||||
|
||||
for (;;) |
||||
{ |
||||
// log_i("looo... ");
|
||||
osDelay(1000 ); |
||||
// log_i(" aa bb cc dd : %d %d %d %d ",aa, bb, cc, dd );
|
||||
} |
||||
} |
||||
|
||||
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_pin) |
||||
{ |
||||
// log_i( " irq ..... %d ",osKernelGetTickCount() );
|
||||
|
||||
} |
||||
|
||||
// void EXTI9_5_IRQHandler(void)
|
||||
// {
|
||||
// log_i( " irq ..... %d ",osKernelGetTickCount() );
|
||||
// // if( (osEventFlagsGet(wk2114EventHandle) & MODULE_WK2114_EVENT_EXTI_IT_SOURCE_SENDING) !=0){
|
||||
// // return;
|
||||
// // }
|
||||
// // osEventFlagsSet(wk2114EventHandle, MODULE_WK2114_EVENT_EXTI_IT_SOURCE_SENDING);
|
||||
// // log_i( " exti ..... %d ",osKernelGetTickCount() );
|
||||
// // HAL_GPIO_EXTI_IRQHandler(WK2114_INT_Pin);
|
||||
|
||||
// // if(__HAL_GPIO_EXTI_GET_IT(WK2XXX_INT_GPIO_PIN) != RESET)
|
||||
// // {
|
||||
// // // 在中断处理函数中对GT911的寄存器0X814E写0
|
||||
// // log_i("WK2XXX_INT_IRQHandler ......");
|
||||
// // // GTP_TouchProcess();
|
||||
// // // INT_Callback();
|
||||
// // __HAL_GPIO_EXTI_CLEAR_IT(WK2XXX_INT_GPIO_PIN);
|
||||
|
||||
// // }
|
||||
// }
|
||||
|
||||
void Soft_Reboot() |
||||
{ |
||||
__set_FAULTMASK(1);//关闭总中断
|
||||
NVIC_SystemReset();//请求单片机重启
|
||||
|
||||
} |
||||
|
||||
|
||||
/*
|
||||
|
||||
// printf("test.... \r\n");
|
||||
// printf ( "max3243 ... %d \r\n", HAL_GPIO_ReadPin( MAX3242_EN_GPIO_Port,MAX3242_EN_Pin));
|
||||
// HAL_UART_Transmit(&huart1, pH_send_buf, 8,1000);
|
||||
// HAL_UART_Transmit(&huart2, pH_send_buf, 8,1000);
|
||||
// HAL_UART_Transmit(&huart4, pH_send_buf, 8,1000);
|
||||
|
||||
// usart6_send_enable();
|
||||
// HAL_UART_Transmit(&huart6, pH_send_buf, 8,1000);
|
||||
|
||||
log_i("test uart2 .... "); |
||||
HAL_GPIO_WritePin(UART_EN_GPIO_Port,UART_EN_Pin, SET); |
||||
HAL_UART_Transmit(&huart2, (uint8_t*)"usart2\r\n", 8,0xFF); |
||||
|
||||
HAL_UART_Transmit_IT(&huart4, send_buf, 8 ); |
||||
// while ( __HAL_UART_GET_FLAG(&huart4, UART_FLAG_TC) == RESET);
|
||||
// HAL_UART_Receive_IT(&huart4, rcv_buf_2, 13 );
|
||||
|
||||
// HAL_GPIO_WritePin(UART_EN_GPIO_Port,UART_EN_Pin,RESET);
|
||||
|
||||
log_i("test uart6 485.... "); |
||||
HAL_GPIO_WritePin(R_W_GPIO_Port,R_W_Pin, SET); |
||||
// HAL_UART_Transmit(&huart6, (uint8_t*)"uart66\r\n", 8,0xFF);
|
||||
HAL_UART_Transmit_IT(&huart6, send_buf, 8 ); |
||||
while ( __HAL_UART_GET_FLAG(&huart6, UART_FLAG_TC) == RESET); |
||||
HAL_GPIO_WritePin(R_W_GPIO_Port,R_W_Pin,RESET); |
||||
HAL_UART_Receive_IT(&huart6, rcv_buf, 13 ); |
||||
|
||||
|
||||
// log_i("test uart3 3160 232.... ");
|
||||
// HAL_GPIO_WritePin(SEL_232_485_GPIO_Port,SEL_232_485_Pin, RESET);
|
||||
// HAL_GPIO_WritePin(HDPLX_GPIO_Port,HDPLX_Pin, RESET);
|
||||
// // HAL_UART_Transmit(&huart3, (uint8_t*)"uart3160\r\n", 10,0xFF);
|
||||
// // HAL_UART_Transmit(&huart3, send_buf, 8,0xFF);
|
||||
// HAL_UART_Receive_IT(&huart3, rcv_buf_2, 13 );
|
||||
// HAL_UART_Transmit_IT(&huart3, send_buf, 8 );
|
||||
// while ( __HAL_UART_GET_FLAG(&huart3, UART_FLAG_TC) == RESET);
|
||||
|
||||
|
||||
// log_i("test uart3 3160 485.... ");
|
||||
// HAL_GPIO_WritePin(SEL_232_485_GPIO_Port,SEL_232_485_Pin, SET);
|
||||
// HAL_GPIO_WritePin(DE485_GPIO_Port, DE485_Pin, RESET);
|
||||
// HAL_GPIO_WritePin(HDPLX_GPIO_Port,HDPLX_Pin, SET);
|
||||
// // HAL_UART_Transmit(&huart3, (uint8_t*)"uart3160\r\n", 10,0xFF);
|
||||
// // HAL_UART_Transmit(&huart3, send_buf, 8,0xFF);
|
||||
|
||||
// // HAL_UART_Receive_IT(&huart3, rcv_buf_2, 13 );
|
||||
// HAL_UART_Transmit_IT(&huart3, send_buf, 8 );
|
||||
// while ( __HAL_UART_GET_FLAG(&huart3, UART_FLAG_TC) == RESET);
|
||||
// HAL_GPIO_WritePin(DE485_GPIO_Port, DE485_Pin, SET);
|
||||
// HAL_GPIO_WritePin(HDPLX_GPIO_Port,HDPLX_Pin, RESET);
|
||||
// // HAL_UART_Receive_IT (&huart3, rcv_buf_2,2 );
|
||||
// if ( HAL_UART_Receive (&huart3, rcv_buf_2, 2 ,2000) ==HAL_OK)
|
||||
// {
|
||||
// log_i("rcv ok");
|
||||
// }
|
||||
|
||||
// log_i( "rcvbuf : %d %d %d", rcv_buf_2[0], rcv_buf_2[1], rcv_buf_2[2]);
|
||||
|
||||
// HAL_GPIO_WritePin(DE485_GPIO_Port, DE485_Pin, SET);
|
||||
// HAL_GPIO_WritePin(HDPLX_GPIO_Port,HDPLX_Pin, RESET);
|
||||
|
||||
|
||||
*/ |
||||
|
||||
// void measureTimer_Callback(void *argument)
|
||||
// {
|
||||
// log_i("measure timer begin .... " );
|
||||
// // led_set_state( &led_0, LED_STATE_FLICKER_QUICK );
|
||||
// // voltage = 0.0;
|
||||
// // H2S = 0.0;
|
||||
// // memset(pH_rcv_buf, 0, 9 );
|
||||
// // memset(result, 0, 12 );
|
||||
// // timebase = osKernelGetTickCount();
|
||||
// // measuring_flag = 1;
|
||||
// // pH_send_flag = 0;
|
||||
// // pH_rcv_flag = 0;
|
||||
// // pH_measuring_flag = 0;
|
||||
// // pH_measure_ok = 0;
|
||||
// // voltage_measure_ok = 0;
|
||||
// // measure_step = 0;
|
||||
// }
|
||||
|
||||
// void pH_Task(void *argument)
|
||||
// {
|
||||
// max3160_485_receive_mode();
|
||||
// for(;;)
|
||||
// {
|
||||
|
||||
// // if ( pH_measure_ok ==0 && pH_send_flag == 0)
|
||||
// // {
|
||||
// // log_i(" send stage ... ");
|
||||
// // HAL_UART_Receive_DMA(&huart3, pH_rcv_buf, 9 );
|
||||
// // timebase = osKernelGetTickCount();
|
||||
// // max3160_485_send_mode();
|
||||
// // pH_send_flag = 1;
|
||||
// // HAL_UART_Transmit_DMA(&huart3, pH_send_buf, 8 );
|
||||
// // }
|
||||
// // if ( pH_measure_ok ==0 && pH_send_flag == 1 && pH_rcv_flag == 0 )
|
||||
// // {
|
||||
// // uint64_t time_ticks = osKernelGetTickCount() ;
|
||||
// // // log_i( " time_ticks :%d " , time_ticks);
|
||||
// // if ( (time_ticks - timebase ) >400)
|
||||
// // {
|
||||
// // log_i( " pH timeout ..... " );
|
||||
// // measureTimer_Callback(NULL);
|
||||
// // }
|
||||
// // }
|
||||
// // if ( pH_measure_ok ==0 && pH_rcv_flag == 1 )
|
||||
// // {
|
||||
// // log_i( " pH ok ..... " );
|
||||
// // pH_measure_ok = 1;
|
||||
// // }
|
||||
// // if ( pH_measure_ok ==1 )
|
||||
// // {
|
||||
// // ;
|
||||
// // }
|
||||
// osDelay(50);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// void Measure_Task(void *argument)
|
||||
// {
|
||||
// for (;;)
|
||||
// {
|
||||
// // /* convert */
|
||||
// // if ( measure_step==0 && pH_measure_ok == 1 && voltage_measure_ok == 1 )
|
||||
// // {
|
||||
// // /** TODO ...*/
|
||||
// // result[1] = (pH_rcv_buf[5]*256 + pH_rcv_buf[6])/10.0; /* Temp /10.0*/
|
||||
// // result[2] = (pH_rcv_buf[3]*256 + pH_rcv_buf[4])/100.0; /* pH /10.0*/
|
||||
// // // log_i( " temperature :%.6f pH : %.6f " , temperature ,pH_value);
|
||||
// // get_h2s_2(&H2S_concentration , voltage, result[1]);
|
||||
// // result[0] = H2S_concentration;
|
||||
// // led_set_state(&led_0, LED_STATE_FLICKER_SLOW);
|
||||
// // // log_i( "H2S : %.6f " ,H2S);
|
||||
// // measure_step++;
|
||||
// // }
|
||||
|
||||
// // /* 写modbus数据 */
|
||||
// // if ( measure_step==1 )
|
||||
// // {
|
||||
// // /* 写modbus 临界区 */
|
||||
// // log_i( "-------> H2S: %.6f TEMP: %.6f pH: %.6f ", result[0] , result[1], result[2]);
|
||||
// // // 数据全反过来 40db851f41a80000402771f2 -》 f2712740......//
|
||||
|
||||
// // Modbus_Set_HoldingBuff( (uint8_t *)result, 12, 0);
|
||||
|
||||
// // measure_step++;
|
||||
// // /*pH 686 : 40db851f 41a80000 402771f2 */
|
||||
// // }
|
||||
// // /* 输出数据 uart1 */
|
||||
// // if ( measure_step==2 )
|
||||
// // {
|
||||
// // log_i( "send to screen... " );
|
||||
// // int ret= HAL_UART_Transmit_IT(&huart1, (uint8_t *)result, 12);
|
||||
// // if( ret==HAL_OK)
|
||||
// // log_i( "send ok.. " );
|
||||
|
||||
// // measure_step++;
|
||||
// // }
|
||||
// // if ( measure_step==3 )
|
||||
// // {
|
||||
// // osDelay(2);
|
||||
// // }
|
||||
// osDelay(20);
|
||||
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
// if ( 0 == ads1115_test(hi2c1) )
|
||||
// {
|
||||
// log_i("ads1115 test Ok .... ");
|
||||
// }else{
|
||||
// log_i("ads1115 test failure .... ");
|
||||
|
||||
// }
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue