13 #include "CallbackStore.h"
14 #include "mockdata/DutyCycleData.h"
22 std::unique_ptr<CallbackStore> RegisterInitializedCallback(
23 NotifyCallback callback,
bool initialNotify) {
24 auto store = std::make_unique<CallbackStore>(
25 m_index, -1, callback, &HALSIM_CancelDutyCycleInitializedCallback);
26 store->SetUid(HALSIM_RegisterDutyCycleInitializedCallback(
27 m_index, &CallbackStoreThunk, store.get(), initialNotify));
31 bool GetInitialized()
const {
32 return HALSIM_GetDutyCycleInitialized(m_index);
35 void SetInitialized(
bool initialized) {
36 HALSIM_SetDutyCycleInitialized(m_index, initialized);
39 std::unique_ptr<CallbackStore> RegisterFrequencyCallback(
40 NotifyCallback callback,
bool initialNotify) {
41 auto store = std::make_unique<CallbackStore>(
42 m_index, -1, callback, &HALSIM_CancelDutyCycleFrequencyCallback);
43 store->SetUid(HALSIM_RegisterDutyCycleFrequencyCallback(
44 m_index, &CallbackStoreThunk, store.get(), initialNotify));
48 int GetFrequency()
const {
return HALSIM_GetDutyCycleFrequency(m_index); }
50 void SetFrequency(
int count) { HALSIM_SetDutyCycleFrequency(m_index, count); }
52 std::unique_ptr<CallbackStore> RegisterOutputCallback(NotifyCallback callback,
54 auto store = std::make_unique<CallbackStore>(
55 m_index, -1, callback, &HALSIM_CancelDutyCycleOutputCallback);
56 store->SetUid(HALSIM_RegisterDutyCycleOutputCallback(
57 m_index, &CallbackStoreThunk, store.get(), initialNotify));
61 double GetOutput()
const {
return HALSIM_GetDutyCycleOutput(m_index); }
63 void SetOutput(
double period) { HALSIM_SetDutyCycleOutput(m_index, period); }
65 void ResetData() { HALSIM_ResetDutyCycleData(m_index); }