iot-firmware/lib/ITEADLIB_Arduino_Nextion-ma.../NexTimer.h

121 lines
2.7 KiB
C
Raw Permalink Normal View History

2023-09-30 08:42:44 +00:00
/**
* @file NexTimer.h
*
* The definition of class NexTimer.
*
* @author huang xianming (email:<xianming.huang@itead.cc>)
* @date 2015/8/26
*
* @copyright
* Copyright (C) 2014-2015 ITEAD Intelligent Systems Co., Ltd. \n
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*/
#ifndef __NEXTIMER_H__
#define __NEXTIMER_H__
#include "NexTouch.h"
#include "NexHardware.h"
/**
* @addtogroup Component
* @{
*/
/**
* NexTimer component.
*
* Commonly, you want to do something after set timer cycle and enable it,and the cycle value
* must be greater than 50
*
*/
class NexTimer: public NexTouch
{
public: /* methods */
/**
* @copydoc NexObject::NexObject(uint8_t pid, uint8_t cid, const char *name);
*/
NexTimer(uint8_t pid, uint8_t cid, const char *name);
/**
* Attach an callback function of timer respond event.
*
* @param timer - callback called with ptr when a timer respond event occurs.
* @param ptr - parameter passed into push[default:NULL].
* @return none.
*
* @note If calling this method multiply, the last call is valid.
*/
void attachTimer(NexTouchEventCb timer, void *ptr = NULL);
/**
* Detach an callback function.
*
* @return none.
*/
void detachTimer(void);
/**
* Get the value of timer cycle val.
*
* @param number - an output parameter to save the value of timer cycle.
*
* @retval true - success.
* @retval false - failed.
*/
bool getCycle(uint32_t *number);
/**
* Set the value of timer cycle val.
*
* @param number - the value of timer cycle.
*
* @retval true - success.
* @retval false - failed.
*
* @warning the cycle value must be greater than 50.
*/
bool setCycle(uint32_t number);
/**
* contorl timer enable.
*
* @retval true - success.
* @retval false - failed.
*/
bool enable(void);
/**
* contorl timer disable.
*
* @retval true - success.
* @retval false - failed.
*/
bool disable(void);
/**
* Get tim attribute of component
*
* @param number - buffer storing data retur
* @return the length of the data
*/
uint32_t Get_cycle_tim(uint32_t *number);
/**
* Set tim attribute of component
*
* @param number - To set up the data
* @return true if success, false for failure
*/
bool Set_cycle_tim(uint32_t number);
};
/**
* @}
*/
#endif /* #ifndef __NEXTIMER_H__ */