drv_ccap.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /**************************************************************************//**
  2. *
  3. * @copyright (C) 2019 Nuvoton Technology Corp. All rights reserved.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0
  6. *
  7. * Change Logs:
  8. * Date Author Notes
  9. * 2022-8-16 Wayne First version
  10. *
  11. ******************************************************************************/
  12. #ifndef __DRV_CCAP_H__
  13. #define __DRV_CCAP_H__
  14. #include "ccap_sensor.h"
  15. #define NU_CCAP_FRAME_END (1<<0)
  16. #define NU_CCAP_ADDRESS_MATCH (1<<1)
  17. #define NU_CCAP_MEMORY_ERROR (1<<2)
  18. #define NU_CCAP_MOTION_DETECT (1<<3)
  19. typedef void (*nu_ccap_event_handler_t)(void *pvData, uint32_t u32EvtMask);
  20. typedef enum
  21. {
  22. CCAP_CMD_CONFIG,
  23. CCAP_CMD_START_CAPTURE,
  24. CCAP_CMD_STOP_CAPTURE,
  25. CCAP_CMD_SET_SENCLK,
  26. CCAP_CMD_SET_PIPES,
  27. CCAP_CMD_SET_OPMODE,
  28. CCAP_CMD_SET_BASEADDR,
  29. } ccap_cmd;
  30. typedef struct
  31. {
  32. struct rt_device_rect_info sRectCropping;
  33. ccap_view_info sPipeInfo_Packet;
  34. ccap_view_info sPipeInfo_Planar;
  35. uint32_t u32Stride_Packet;
  36. uint32_t u32Stride_Planar;
  37. nu_ccap_event_handler_t pfnEvHndler; // Callback function in ISR
  38. void *pvData; // For ISR callback argument.
  39. } ccap_config;
  40. typedef ccap_config *ccap_config_t;
  41. #endif //__DRV_CCAP_H__