Simulated product dispenser

Dependencies:   HTS221

Fork of mbed-cloud-workshop-connect-HTS221 by Jim Carver

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers arm_uc_mmFSMHelper.h Source File

arm_uc_mmFSMHelper.h

00001 // ----------------------------------------------------------------------------
00002 // Copyright 2016-2017 ARM Ltd.
00003 //
00004 // SPDX-License-Identifier: Apache-2.0
00005 //
00006 // Licensed under the Apache License, Version 2.0 (the "License");
00007 // you may not use this file except in compliance with the License.
00008 // You may obtain a copy of the License at
00009 //
00010 //     http://www.apache.org/licenses/LICENSE-2.0
00011 //
00012 // Unless required by applicable law or agreed to in writing, software
00013 // distributed under the License is distributed on an "AS IS" BASIS,
00014 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 // See the License for the specific language governing permissions and
00016 // limitations under the License.
00017 // ----------------------------------------------------------------------------
00018 
00019 #ifndef ARM_UC_MM_FSM_HELPER_H
00020 #define ARM_UC_MM_FSM_HELPER_H
00021 
00022 #define ARM_UC_MM_FSM_HELPER_START(CONTEXT, STATE_STR_FN)\
00023     uint32_t oldState;\
00024     ARM_UC_MM_DEBUG_LOG(ARM_UC_MM_DEBUG_LOG_LEVEL_STATES, "> %s (%u)\n", __PRETTY_FUNCTION__, (unsigned)event);\
00025     do {\
00026         oldState = (CONTEXT).state;\
00027         ARM_UC_MM_DEBUG_LOG(ARM_UC_MM_DEBUG_LOG_LEVEL_STATES, "+ %s state: %s(%u)\n", __PRETTY_FUNCTION__,\
00028             STATE_STR_FN((CONTEXT).state), (unsigned)(CONTEXT).state);\
00029         switch ((CONTEXT).state)
00030 
00031 #define ARM_UC_MM_FSM_HELPER_FINISH(CONTEXT)\
00032     } while (err.code == MFST_ERR_NONE && oldState != (CONTEXT).state);\
00033     ARM_UC_MM_DEBUG_LOG(ARM_UC_MM_DEBUG_LOG_LEVEL_STATES, "< %s %c%c:%hu (%s)\n", __PRETTY_FUNCTION__,\
00034         err.modulecc[0], err.modulecc[1], err.error, ARM_UC_err2Str(err))
00035 
00036 #endif // ARM_UC_MM_FSM_HELPER_H