/* * IDmaChannelPeripheral.h * * Created on: 11 ÿíâ. 2018 ã. * Author: titov */ #ifndef SOURCE_PERIPHERAL_IDMACHANNELPERIPHERAL_H_ #define SOURCE_PERIPHERAL_IDMACHANNELPERIPHERAL_H_ namespace peripheral { class IDmaControl { public: virtual void run() = 0; virtual void halt() = 0; virtual bool isRun() const = 0; virtual ~IDmaControl() = default; }; class IDmaChannelPeripheral : public IDmaControl { public: virtual bool autotransmit( const void * data, unsigned int num_frame, unsigned int frame_size_in_bit ) = 0; virtual bool autoreceive( volatile void * buff, unsigned int num_frame, unsigned int frame_size_in_bit ) = 0; virtual ~IDmaChannelPeripheral() = default; }; } #endif /* SOURCE_PERIPHERAL_IDMACHANNELPERIPHERAL_H_ */