Esempio n. 1
0
int main()
{
    hlt_execution_context* ctx = 0;
    hlt_exception* excpt = 0;
    hlt_string s;

    hlt_init();
    ctx = hlt_global_execution_context();

    hlt_port a;

    a = hlt_port_from_asciiz("80/tcp", &excpt, ctx);
    s = hlt_object_to_string(&hlt_type_info_hlt_port, &a, 0, &excpt, ctx);
    hlt_string_print(stdout, s, 1, &excpt, ctx);
    assert(! excpt);

    a = hlt_port_from_asciiz("53/udp", &excpt, ctx);
    s = hlt_object_to_string(&hlt_type_info_hlt_port, &a, 0, &excpt, ctx);
    hlt_string_print(stdout, s, 1, &excpt, ctx);
    assert(! excpt);

    a = hlt_port_from_asciiz("can't parse", &excpt, ctx);
    assert(excpt);

    GC_DTOR(excpt, hlt_exception, ctx);

    return 0;
}
Esempio n. 2
0
/**
 * Main.
 */ 
int main( void )
{
  prvSetupHardware();// set up peripherals etc

  USARTInit(USART_PARAMS1);

  xPrintQueue = xQueueCreate(150, sizeof(char *));
  if (xPrintQueue == NULL)
    {
      printf("Failed to make print queue\r\n");
      for (;;);
    }

  vParametersInit();
  lcd_init();
  menu_set_root(main_menu);

  vLEDInit();

  vI2C_Init();

  vMillInit();

  vMashPumpInit();

  vValvesInit();

  vDiagTempsInit();

  vHopsInit();

  vBoilInit();

  vStirInit();

  vCraneInit();

  hlt_init();

  vFlow1Init();

  vDiagPWMInit();

  vChillerPumpInit();

  vBoilValveInit();

  xTaskCreate( vSerialHandlerTask,
      ( signed portCHAR * ) "SerialTask",
      configMINIMAL_STACK_SIZE,
      NULL,
      tskIDLE_PRIORITY +4,
      &xSerialHandlerTaskHandle );


  xTaskCreate( vSerialControlCentreTask,
      ( signed portCHAR * ) "SerialctrlTask",
      configMINIMAL_STACK_SIZE + 100,
      NULL,
      tskIDLE_PRIORITY +2,
      &xSerialControlTaskHandle );

  xTaskCreate( vConsolePrintTask,
      ( signed portCHAR * ) "PrintTask",
      configMINIMAL_STACK_SIZE,
      NULL,
      tskIDLE_PRIORITY,
      &xPrintTaskHandle );

  xTaskCreate( vTouchTask,
      ( signed portCHAR * ) "touch    ",
      configMINIMAL_STACK_SIZE +400,
      NULL,
      tskIDLE_PRIORITY,
      &xTouchTaskHandle );

  // Create your application tasks if needed here
  xTaskCreate( vTaskDS1820Convert,
      ( signed portCHAR * ) "TempSensors",
      configMINIMAL_STACK_SIZE + 100,
      NULL,
      tskIDLE_PRIORITY,
      &xDS1820TaskHandle );

  xTaskCreate( vTaskLitresToBoil,
      ( signed portCHAR * ) "boil_litres",
      configMINIMAL_STACK_SIZE,
      NULL,
      tskIDLE_PRIORITY ,
      &xLitresToBoilHandle );

  xTaskCreate( vTaskLitresToMash,
      ( signed portCHAR * ) "mash_litres",
      configMINIMAL_STACK_SIZE,
      NULL,
      tskIDLE_PRIORITY ,
      &xLitresToMashHandle );

  xTaskCreate( vTaskHops,
      ( signed portCHAR * ) "hops    ",
      configMINIMAL_STACK_SIZE,
      NULL,
      tskIDLE_PRIORITY,
      &xHopsTaskHandle );

  xTaskCreate( vCheckTask,
      ( signed portCHAR * ) "check     ",
      configMINIMAL_STACK_SIZE +400,
      NULL,
      tskIDLE_PRIORITY,
      &xCheckTaskHandle );

  xTaskCreate( vTaskCrane,
      ( signed portCHAR * ) "Crane    ",
      configMINIMAL_STACK_SIZE + 200 ,
      NULL,
      tskIDLE_PRIORITY+1,
      &xCraneTaskHandle );

  xTaskCreate( vTaskBoilValve,
      ( signed portCHAR * ) "boilvalve",
      configMINIMAL_STACK_SIZE +200,
      NULL,
      tskIDLE_PRIORITY+1,
      &xBoilValveTaskHandle );


  //      xTaskCreate( vI2C_TestTask,
  //          ( signed portCHAR * ) "i2c_test",
  //          configMINIMAL_STACK_SIZE +400,
  //          NULL,
  //          tskIDLE_PRIORITY,
  //          &xI2C_TestHandle );

  xTaskCreate(  vTaskHLTLevelChecker,
      ( signed portCHAR * ) "hlt_level",
      configMINIMAL_STACK_SIZE +100,
      NULL,
      tskIDLE_PRIORITY,
      & xTaskHLTLevelCheckerTaskHandle );



  xTaskCreate(  vI2C_SendTask,
      ( signed portCHAR * ) "i2c_send",
      configMINIMAL_STACK_SIZE +500,
      NULL,
      tskIDLE_PRIORITY+2,
      & xI2C_SendHandle );


  /* Start the scheduler. */
  vTaskStartScheduler();



  printf("FAIL\r\n");

  /* Will only get here if there was insufficient memory to create the idle
       task. */
  return 0;
}