34 lines
781 B
C++
34 lines
781 B
C++
/*
|
|
* 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_ */
|