sx12xxEiger.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 sx12xxEiger.h
  13. * \brief
  14. *
  15. * \version 1.0
  16. * \date Nov 21 2012
  17. * \author Miguel Luis
  18. */
  19. #ifndef __SX12XXEIGER_H__
  20. #define __SX12XXEIGER_H__
  21. #include <stdint.h>
  22. #include <stdbool.h>
  23. #define USE_USB 1
  24. #if defined( STM32F4XX ) || defined( STM32F2XX ) || defined( STM32F429_439xx )
  25. #define BACKUP_REG_BOOTLOADER RTC_BKP_DR0 /* Booloader enter*/
  26. #else
  27. #define BACKUP_REG_BOOTLOADER BKP_DR1 /* Booloader enter*/
  28. #endif
  29. #define FW_VERSION "2.1.0"
  30. #define SK_NAME "SX12xxEiger"
  31. /*!
  32. * Functions return codes definition
  33. */
  34. typedef enum
  35. {
  36. SX_OK,
  37. SX_ERROR,
  38. SX_BUSY,
  39. SX_EMPTY,
  40. SX_DONE,
  41. SX_TIMEOUT,
  42. SX_UNSUPPORTED,
  43. SX_WAIT,
  44. SX_CLOSE,
  45. SX_YES,
  46. SX_NO,
  47. }tReturnCodes;
  48. extern volatile uint32_t TickCounter;
  49. /**
  50. * @brief Small printf for GCC/RAISONANCE
  51. */
  52. #ifdef __GNUC__
  53. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
  54. set to 'Yes') calls __io_putchar() */
  55. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
  56. #endif /* __GNUC__ */
  57. /*!
  58. * Initializes board peripherals
  59. */
  60. void BoardInit( void );
  61. /*!
  62. * Delay code execution for "delay" ms
  63. */
  64. void Delay ( uint32_t delay );
  65. /*!
  66. * Delay code execution for "delay" s
  67. */
  68. void LongDelay ( uint8_t delay );
  69. /*!
  70. * \brief Computes a random number between min and max
  71. *
  72. * \param [IN] min range minimum value
  73. * \param [IN] max range maximum value
  74. * \retval random random value in range min..max
  75. */
  76. uint32_t randr( uint32_t min, uint32_t max );
  77. #endif // __SX12XXEIGER_H__