|
|
@ -26,6 +26,31 @@ std::mutex GpioControl::m_locker;
|
|
|
|
std::vector<GpioControl::ITEM> GpioControl::m_items;
|
|
|
|
std::vector<GpioControl::ITEM> GpioControl::m_items;
|
|
|
|
bool GpioControl::m_cameraPowerStatus = false;
|
|
|
|
bool GpioControl::m_cameraPowerStatus = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
|
|
|
class GpioDebugLogger
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
GpioDebugLogger(int cmd, int value)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
m_startTime = GetMicroTimeStamp();
|
|
|
|
|
|
|
|
m_path = std::string("/sdcard/com.xypower.mpapp/tmp/") + std::to_string(cmd) + std::string("_") + std::to_string(m_startTime) + "_val." + std::to_string(value);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CreateEmptyFile(m_path + ".enter");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
~GpioDebugLogger()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
uint64_t ts = (GetMicroTimeStamp() - m_startTime);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CreateEmptyFile(m_path + ".leave." + std::to_string(ts));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
std::string m_path;
|
|
|
|
|
|
|
|
uint64_t m_startTime;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
size_t GpioControl::turnOnImpl(const IOT_PARAM& param)
|
|
|
|
size_t GpioControl::turnOnImpl(const IOT_PARAM& param)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
size_t oldRef = 0;
|
|
|
|
size_t oldRef = 0;
|
|
|
@ -60,6 +85,9 @@ size_t GpioControl::turnOnImpl(const IOT_PARAM& param)
|
|
|
|
|
|
|
|
|
|
|
|
if (oldRef == 0/* || param.cmd != CMD_SET_3V3_PWR_EN*/)
|
|
|
|
if (oldRef == 0/* || param.cmd != CMD_SET_3V3_PWR_EN*/)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
|
|
|
GpioDebugLogger logger(param.cmd, param.value);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
fd = open(GPIO_NODE_MP, O_RDONLY);
|
|
|
|
fd = open(GPIO_NODE_MP, O_RDONLY);
|
|
|
|
if( fd > 0 )
|
|
|
|
if( fd > 0 )
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -86,6 +114,9 @@ void GpioControl::setInt(int cmd, int value)
|
|
|
|
// param.cmd = cmd;
|
|
|
|
// param.cmd = cmd;
|
|
|
|
// param.value = value;
|
|
|
|
// param.value = value;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
|
|
|
GpioDebugLogger logger(cmd, value);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
int fd = open(GPIO_NODE_MP, O_RDONLY);
|
|
|
|
int fd = open(GPIO_NODE_MP, O_RDONLY);
|
|
|
|
if (fd > 0)
|
|
|
|
if (fd > 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|