#pragma once extern "C" { #include "cmsis_os.h" } namespace iflytop { using namespace std; class zmutex { public: SemaphoreHandle_t recursiveMutex; public: zmutex(); ~zmutex(); void init(); bool isInit(); void lock(); void unlock(); }; class zlock_guard { zmutex& m_mutex; public: zlock_guard(zmutex& mutex); ~zlock_guard(); }; } // namespace iflytop