Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

triceAuxiliary.c 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //! \file triceAuxiliary.c
  2. //! \author Thomas.Hoehenleitner [at] seerose.net
  3. //! //////////////////////////////////////////////////////////////////////////
  4. #include "trice.h"
  5. #include <stdint.h>
  6. #include <stdlib.h>
  7. #if !TRICE_OFF
  8. #if TRICE_DIRECT_AUXILIARY8 == 1
  9. //! UserNonBlockingDirectWrite8AuxiliaryFn can get a user function address for writing to an auxiliary interface.
  10. Write8AuxiliaryFn_t UserNonBlockingDirectWrite8AuxiliaryFn = (void *)0;
  11. //! TriceNonBlockingDirectWrite8Auxiliary writes to a user defined interface.
  12. void TriceNonBlockingDirectWrite8Auxiliary(const uint8_t *enc, size_t encLen)
  13. {
  14. #if TRICE_CGO == 1 // automated tests
  15. TriceWriteDeviceCgo(enc, encLen);
  16. #else
  17. if (UserNonBlockingDirectWrite8AuxiliaryFn != (void *)0)
  18. {
  19. UserNonBlockingDirectWrite8AuxiliaryFn(enc, encLen);
  20. }
  21. #endif
  22. }
  23. #endif // #if TRICE_DIRECT_AUXILIARY8 == 1
  24. #if TRICE_DEFERRED_AUXILIARY8 == 1
  25. //! UserNonBlockingDeferredWrite8AuxiliaryFn can get a user function address for writing to an auxiliary interface.
  26. Write8AuxiliaryFn_t UserNonBlockingDeferredWrite8AuxiliaryFn = (void *)0;
  27. //! TriceNonBlockingDeferredWrite8Auxiliary writes to a user defined interface.
  28. void TriceNonBlockingDeferredWrite8Auxiliary(const uint8_t *enc, size_t encLen)
  29. {
  30. #if TRICE_CGO == 1 // automated tests
  31. TriceWriteDeviceCgo(enc, encLen);
  32. #else
  33. if (UserNonBlockingDeferredWrite8AuxiliaryFn != (void *)0)
  34. {
  35. UserNonBlockingDeferredWrite8AuxiliaryFn(enc, encLen);
  36. }
  37. #endif
  38. }
  39. #endif // #if TRICE_DEFERRED_AUXILIARY8 == 1
  40. #if TRICE_DIRECT_AUXILIARY32 == 1
  41. //! UserNonBlockingDirectWrite32AuxiliaryFn can get a user function address for writing to an auxiliary interface.
  42. Write32AuxiliaryFn_t UserNonBlockingDirectWrite32AuxiliaryFn = (void *)0;
  43. //! TriceNonBlockingDirectWrite32Auxiliary writes to a user defined interface.
  44. void TriceNonBlockingDirectWrite32Auxiliary(const uint32_t *enc, unsigned count)
  45. {
  46. #if TRICE_CGO == 1 // automated tests
  47. TriceWriteDeviceCgo(enc, count << 2);
  48. #else
  49. if (UserNonBlockingDirectWrite32AuxiliaryFn != (void *)0)
  50. {
  51. UserNonBlockingDirectWrite32AuxiliaryFn(enc, count);
  52. }
  53. #endif
  54. }
  55. #endif // #if TRICE_DIRECT_AUXILIARY32 == 1
  56. #if TRICE_DEFERRED_AUXILIARY32 == 1
  57. //! UserNonBlockingDeferredWrite32AuxiliaryFn can get a user function address for writing to an auxiliary interface.
  58. Write32AuxiliaryFn_t UserNonBlockingDeferredWrite32AuxiliaryFn = (void *)0;
  59. //! TriceNonBlockingDeferredWrite32Auxiliary writes to a user defined interface.
  60. void TriceNonBlockingDeferredWrite32Auxiliary(const uint32_t *enc, unsigned count)
  61. {
  62. #if TRICE_CGO == 1 // automated tests
  63. TriceWriteDeviceCgo(enc, count << 2);
  64. #else
  65. if (UserNonBlockingDeferredWrite32AuxiliaryFn != (void *)0)
  66. {
  67. UserNonBlockingDeferredWrite32AuxiliaryFn(enc, count);
  68. }
  69. #endif
  70. }
  71. #endif // #if TRICE_DEFERRED_AUXILIARY32 == 1
  72. #endif // #if !TRICE_OFF