radio.c 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * THE FOLLOWING FIRMWARE IS PROVIDED: (1) "AS IS" WITH NO WARRANTY; AND
  3. * (2)TO ENABLE ACCESS TO CODING INFORMATION TO GUIDE AND FACILITATE CUSTOMER.
  4. * CONSEQUENTLY, SEMTECH SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR
  5. * CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
  6. * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
  7. * CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  8. *
  9. * Copyright (C) SEMTECH S.A.
  10. */
  11. /*!
  12. * \file radio.c
  13. * \brief Generic radio driver ( radio abstraction )
  14. *
  15. * \version 2.0.0
  16. * \date Nov 21 2012
  17. * \author Miguel Luis
  18. *
  19. * Last modified by Gregory Cristian on Apr 25 2013
  20. */
  21. #include "platform.h"
  22. #include "radio.h"
  23. #if defined( USE_SX1232_RADIO )
  24. #include "sx1232.h"
  25. #elif defined( USE_SX1272_RADIO )
  26. #include "sx1272.h"
  27. #elif defined( USE_SX1276_RADIO )
  28. #include "sx1276.h"
  29. #else
  30. #error "Missing define: USE_XXXXXX_RADIO (ie. USE_SX1272_RADIO)"
  31. #endif
  32. #include "sx1276.h"
  33. tRadioDriver RadioDriver;
  34. tRadioDriver* RadioDriverInit( void )
  35. {
  36. #if defined( USE_SX1232_RADIO )
  37. RadioDriver.Init = SX1232Init;
  38. RadioDriver.Reset = SX1232Reset;
  39. RadioDriver.StartRx = SX1232StartRx;
  40. RadioDriver.GetRxPacket = SX1232GetRxPacket;
  41. RadioDriver.SetTxPacket = SX1232SetTxPacket;
  42. RadioDriver.Process = SX1232Process;
  43. #elif defined( USE_SX1272_RADIO )
  44. RadioDriver.Init = SX1272Init;
  45. RadioDriver.Reset = SX1272Reset;
  46. RadioDriver.StartRx = SX1272StartRx;
  47. RadioDriver.GetRxPacket = SX1272GetRxPacket;
  48. RadioDriver.SetTxPacket = SX1272SetTxPacket;
  49. RadioDriver.Process = SX1272Process;
  50. #elif defined( USE_SX1276_RADIO )
  51. RadioDriver.Init = SX1276Init;
  52. RadioDriver.Reset = SX1276Reset;
  53. RadioDriver.StartRx = SX1276StartRx;
  54. RadioDriver.StartTx = SX1276StartTx;
  55. RadioDriver.GetRxPacket = SX1276GetRxPacket;
  56. RadioDriver.SetTxPacket = SX1276SetTxPacket;
  57. RadioDriver.Process = SX1276Process;
  58. #else
  59. #error "Missing define: USE_XXXXXX_RADIO (ie. USE_SX1272_RADIO)"
  60. #endif
  61. return &RadioDriver;
  62. }