34 lines
781 B
C++
34 lines
781 B
C++
|
|
/*
|
|||
|
|
* IDmaChannelPeripheral.h
|
|||
|
|
*
|
|||
|
|
* Created on: 11 <EFBFBD><EFBFBD><EFBFBD>. 2018 <EFBFBD>.
|
|||
|
|
* 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_ */
|