Exemplo n.º 1
0
// HAL_OK       = 0x00,
//  HAL_ERROR    = 0x01,
//  HAL_BUSY     = 0x02,
//  HAL_TIMEOUT  = 0x03
HAL_StatusTypeDef init_lepton_command_interface(void)
{
  LEP_RESULT result;

  result = LEP_OpenPort(0, LEP_CCI_TWI, 400, &hport_desc);
  if (result != LEP_OK) {
    DEBUG_PRINTF("Could not open Lepton I2C port! %d\r\n", result);
    return HAL_ERROR;
  }

  DEBUG_PRINTF("Lepton I2C command interface opened, device %02x\r\n", hport_desc.deviceAddress);

  if (print_sdk_version() != HAL_OK)
    return HAL_ERROR;

  if (print_cust_serial_number() != HAL_OK)
    return HAL_ERROR;

  if (print_flir_serial_number() != HAL_OK)
    return HAL_ERROR;

  if (print_camera_uptime() != HAL_OK)
    return HAL_ERROR;

  if (print_fpa_temp_celcius() != HAL_OK)
    return HAL_ERROR;

  if (print_aux_temp_celcius() != HAL_OK)
    return HAL_ERROR;

  return HAL_OK;
}
Exemplo n.º 2
0
int lepton_connect() {
	LEP_OpenPort(1, LEP_CCI_TWI, 400, &_port);
	_connected = true;
	return 0;
}
Exemplo n.º 3
0
void FLIR_Tasks ( void )
{
    LEP_RESULT result;
    /* Check the application's current state. */
    switch ( flirData.state )
    {
        /* Application's initial state. */
        case FLIR_STATE_INIT:
        {
            bool appInitialized = true;
       
            if (flirData.handleTmrDrv == DRV_HANDLE_INVALID)
            {
                flirData.handleTmrDrv = DRV_TMR_Open(FLIR_TMR_DRV, DRV_IO_INTENT_EXCLUSIVE);
                appInitialized &= ( DRV_HANDLE_INVALID != flirData.handleTmrDrv );
            }
        
            if (appInitialized)
            {
                TimerSetup();
                BSP_LEDOn(BSP_LED_1);
                flirData.state = FLIR_OPEN_PORT;
            }
            break;
        }
        case FLIR_OPEN_PORT:
        {
            BSP_LEDOn(BSP_LED_2);
            result = LEP_OpenPort(0,
                                  LEP_CCI_TWI,
                                    #ifdef BB_ENABLED
                                        DRV_I2C_BIT_BANG_BAUD_RATE_IDX0
                                    #else
                                        DRV_I2C_BAUD_RATE_IDX0
                                    #endif
                                  /1000,&flirData.lepton.cameraPort);
            if(result != LEP_OK)
            {
                flirData.state = FLIR_ERROR;
            }
            else
            {
                BSP_LEDOff(BSP_LED_1);
                BSP_LEDOff(BSP_LED_2);
                BSP_LEDOff(BSP_LED_3);
                BSP_LEDOn(BSP_LED_4);
                flirData.state = FLIR_STATE_SERVICE_TASKS;
            }
            break;
        }
        case FLIR_STATE_SERVICE_TASKS:
        {
            LedTask();
        
            break;
        }

        /* TODO: implement your application state machine.*/
        

        case FLIR_ERROR:
        default:
        {
            BSP_LEDOn(BSP_LED_1);
            BSP_LEDOn(BSP_LED_2);
            BSP_LEDOn(BSP_LED_3);
            BSP_LEDOn(BSP_LED_4);
            break;
        }
    }
}