AP_HAL_Linux.h 979 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. /* Your layer exports should depend on AP_HAL.h ONLY. */
  3. #include <AP_HAL/AP_HAL.h>
  4. /**
  5. * Umbrella header for AP_HAL_Linux module.
  6. * The module header exports singleton instances which must conform the
  7. * AP_HAL::HAL interface. It may only expose implementation details (class
  8. * names, headers) via the Linux namespace.
  9. * The class implementing AP_HAL::HAL should be called HAL_Linux and exist
  10. * in the global namespace. There should be a single const instance of the
  11. * HAL_Linux class called AP_HAL_Linux, instantiated in the HAL_Linux_Class.cpp
  12. * and exported as `extern const HAL_Linux AP_HAL_Linux;` in HAL_Linux_Class.h
  13. *
  14. * All declaration and compilation should be guarded by CONFIG_HAL_BOARD macros.
  15. * In this case, we're using CONFIG_HAL_BOARD == HAL_BOARD_LINUX.
  16. * When creating a new HAL, declare a new HAL_BOARD_ in AP_HAL/AP_HAL_Boards.h
  17. */
  18. #if CONFIG_HAL_BOARD == HAL_BOARD_LINUX
  19. #include "HAL_Linux_Class.h"
  20. #endif // CONFIG_HAL_BOARD