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