embkernel
 All Classes Functions Variables Typedefs Groups Pages
LibRtosTraceUsb.hpp
1 //------------------------------------------------------------------------------
2 //This file is part of embKernel.
3 //See license.txt for the full license governing this code.
4 //------------------------------------------------------------------------------
5 
6 #ifndef LIB_USB_RTOS_TRACE_HPP_
7 #define LIB_USB_RTOS_TRACE_HPP_
8 
9 #include "RtosInclude.hpp"
10 #include "UsbInclude.hpp"
11 #include "LibPktHandler.hpp"
12 
13 class LibRtosTraceUsb: public RtosRunnable {
14 private:
15  enum
16  :uint16_t {
17  CMD_GET_TASK_NAME = 0x0010,
18  CMD_SEND_TRACE_TAGS = 0x0011,
19  GET_CLOCK_FREQUENCY = 0x0012,
20  CMD_GET_TASK_STACK = 0x0013,
21  CMD_BUFFER_FULL = 0x0014,
22  };
23 
24  RtosTask mTask;
25  RtosTimer mTimer;
26  LibPktHandler mPktHandler;
27  UsbRxStream mUsbRxStream;
28  UsbTxStream mUsbTxStream;
29 
30 public:
31  LibRtosTraceUsb(int priority, size_t stackSize, uint8_t outEp, uint8_t inEp);
32  ~LibRtosTraceUsb();
33 
34 protected:
35  virtual void run();
36 };
37 
38 #endif /* LIB_USB_RTOS_TRACE_HPP_ */