Beispiel #1
0
LinkPtr getCpuLoad(LinkPtr head,LinkPtr headLog)
{
	int i=0;
	char *str;
	for(i=0;i<10;i++)
	{
		if(isQueueEmpty(&myQueue)!=1)
		{
			str=(char*)deqQueue(&myQueue);
			UartPrint(str);
			UartPrint("\r\n");
		}
	}
	return NULL;
}
Beispiel #2
0
int parsing(char *string,LinkPtr headContact,LinkPtr headCallLog)
{

	int i=0,j=0,k=0;
	k=11;
	j=k;
	k=j;
   	char *choice;
   	choice=strtok(string," ");
   	if(strcmp(choice,"cpu")==0)
   	{
   		getCpuLoad(headContact,headCallLog);
   		return 0;
   	}
   	UartPrint("\r\n");
   	for(i=0;i<9;i++)
   	{
   		if(strcmp(array[i],choice)==0)
   		{
   	   		funRetValue=ptrFxn[i].fun(headContact,headCallLog);
   	   		strcpy(previousCommand,choice);
   	   		return 0;
   		}
   	}
   	printingError(6);
	return 0;
}
Beispiel #3
0
void main(void) {
    HardwareInit();
    UartInit(STDIO,115200,DEFAULT_LINE_CTRL);
    while (1){
       eForth();
       UartPrint(STDOUT,"VM crashed!\r restarting it.\r");
    }
}
Beispiel #4
0
void USART6_IRQHandler(void) {
	char receivedBuff = '\0';
	UartPort* prt = uartPort1;
	if (USART_GetITStatus(prt->thisUsart, USART_IT_RXNE) != RESET) {
		receivedBuff = USART_ReceiveData(prt->thisUsart);
		PushRingBuffer(prt->rxRingBuff, (void*) &receivedBuff);
	} else if (USART_GetITStatus(prt->thisUsart, USART_IT_ORE_RX) != RESET
			|| USART_GetITStatus(prt->thisUsart, USART_IT_ORE_ER) != RESET
			|| USART_GetITStatus(prt->thisUsart, USART_IT_NE) != RESET
			|| USART_GetITStatus(prt->thisUsart, USART_IT_FE) != RESET
			|| USART_GetITStatus(prt->thisUsart, USART_IT_PE) != RESET) {
		UartPrint("Uart got error on receive\r\n");

		USART_ClearITPendingBit(prt->thisUsart, USART_IT_ORE_RX);
		USART_ClearITPendingBit(prt->thisUsart, USART_IT_ORE_ER);
		USART_ClearITPendingBit(prt->thisUsart, USART_IT_NE);
		USART_ClearITPendingBit(prt->thisUsart, USART_IT_FE);
		USART_ClearITPendingBit(prt->thisUsart, USART_IT_PE);
	}
}
Beispiel #5
0
void debug_print(char *fmt, unsigned int a, unsigned int b, unsigned int c){
    sprintf((char*)text, fmt, a,b,c);
    UartPrint(STDOUT, (char*)text);
} // debug_print
void KWTask(void *pvParameters)
{
  KW1281struct_t frame;
  uint8_t KW1281data[128];
  uint8_t *KW1281data_temp;
  uint8_t result = 0x00;
  portBASE_TYPE xStatus;
  portTickType xWaitTime = 50 / portTICK_RATE_MS;

  UartPrint("KWTask(): started\n");

  while (1)
  {
    while (KWRequest != KW_START_REQ)
    {
      vTaskDelay(10 / portTICK_RATE_MS);
    }

    KWRequest = KW_NO_REQ;
    KWState = KW_WORK;
    
    do
    {
      frame.title = 0xff;
      frame.data = KW1281data;
    
      // odebranie ramki od ECU
      result = KW1281ReceiveBlock(&frame);
      if (result) 
      {
        KWState = KW_ERROR;
        break;
      }
      KW1281BlockCounter = frame.cnt;

      if ((KW1281_ACK != frame.title)/* && (KW1281_NO_ACK != frame.title)*/)
      {
        if (frame.len > 3)
        {
          KW1281data_temp = pvPortMalloc(frame.len-3);
          memmove(KW1281data_temp, frame.data, frame.len-3);
          frame.data = KW1281data_temp;
        }
        else
          frame.data = NULL;

        xStatus = xQueueSendToBack(xKW1281OutputQueue, &frame, 0);
      }
     
      // transmission TESTER -> ECU
      vTaskDelay(kw1281_intermessage_delay / portTICK_RATE_MS); //opoznienie przed wyslaniem nowego komunikatu

      if (KWRequest == KW_DISCONNECT_REQ)
      {
        frame.len = 3;
        frame.title = KW1281_END_OF_SESSION;
        KW1281BlockCounter++; // inkrementacja lokalnie przechowywanej wartosci Block Counter
        frame.cnt = KW1281BlockCounter;
        frame.data = KW1281data;
      
        result = KW1281SendBlock(&frame); //wyslanie bloku do ECU          
        if (result) 
        {
          KWState = KW_ERROR;
          break;
        }
        KWRequest = KW_NO_REQ;
        KWState = KW_DISCONNECTED;
      }
      else
      {
        xStatus = xQueueReceive(xKW1281InputQueue, &frame, xWaitTime);
        if (xStatus == pdTRUE)
        {
          KW1281BlockCounter++; // inkrementacja lokalnie przechowywanej wartosci Block Counter
          frame.cnt = KW1281BlockCounter;
      
          result = KW1281SendBlock(&frame); //wyslanie bloku do ECU          
          vPortFree(frame.data);
          if (result) 
          {
            KWState = KW_ERROR;
            break;
          }
        }
        else 
        {
          result = KW1281SendACK();
          if (result) 
          {
            KWState = KW_ERROR;
            break;
          }
        }
      }
    } while (KWState == KW_WORK);
  } // while (1)
}
Beispiel #7
0
void main(void) {
    HardwareInit();
    UartInit(STDIO,115200,DEFAULT_LINE_CTRL);
    heap_size=free_heap();
#if defined DEBUG
    test_pattern();
#endif
    UartPrint(STDOUT,"video initialization\r");
    VideoInit();
    delay_ms(500);
    UartPrint(STDOUT,"keyboard initialization: ");
    if (KeyboardInit()){
        UartPrint(STDOUT,"OK\r");
        comm_channel=LOCAL_CON;
    }else{
        UartPrint(STDOUT,"keyboard error\r");
        UartPrint(STDOUT,"Using uart2 channel.\r");
        comm_channel=SERIAL_CON;
    }
    text_coord_t cpos;
    UartPrint(STDOUT,"SD initialization: ");
    if (!mount(0)){
        UartPrint(STDOUT,"Failed\r");
        SDCardReady=FALSE;
    }else{
        UartPrint(STDOUT,"succeeded\r");
        SDCardReady=TRUE;
    }
    UartPrint(STDOUT,"SRAM initialization\r");
    sram_init();
    UartPrint(STDOUT,"sound initialization.\r");
    tune((unsigned int*)&e3k[0]);
    UartPrint(STDOUT,"initialization completed.\r");
    set_cursor(CR_BLOCK); // sauvegare video_buffer dans SRAM
    clear_screen();
#if defined _DEBUG_
    graphics_test();
    set_curpos(0,LINE_PER_SCREEN-1);
    print(comm_channel,"test");
    sram_write_block(100000,video_bmp,BMP_SIZE);
    delay_ms(1000);
    clear_screen();
    delay_ms(1000);
    sram_read_block(100000,video_bmp,BMP_SIZE);
    delay_ms(1000);
    clear_screen();
//    print(comm_channel,"heap_size: ");
//    print_int(comm_channel,heap_size,0);
//    crlf();
#endif
    shell();
} // main()