Программный модуль для кофеварки RCM-M1509S
ПО является неотъемлемой частью кофеварки RCM-M1509S, отдельно потребителю не поставляется и эксплуатируется только в составе устройства.
////////////////////////////////////////////////////////////////
//RCM-M1509S
//v1.1
//application.c
////////////////////////////////////////////////////////////////
#include "common.h"
#include "application.h"
#include "api.h"
#include "logic_work.h"
#include "functions_callback.h"
#include "scheme.h"
#include "init_periph.h"
#include "send_to_LCD.h"
#include "logic_work.h"
#include "pairing.h"
#include "timers_nordic.h"
#include "key.h"
//Get firmvare version
uint16_t API_GetVersion(void)
{
return FIRMWARE_VER;
}
////////////////////////////////////////////////////////////////
// =========================================================================================
uint8_t api_start (void)
{
changeState(HEAT);
return 1;
}
bool API_Stop(void)
{
if (bPairingOnFlag == 1) // if in pairing state, just stop pairing
{
pairing_stop ();
//R4S_SET;
}
else
{
changeState(IDLE);
}
return true;
}
uint8_t api_go_to_stand_by(void)
{
changeState(IDLE);
return 1;
}
uint8_t api_get_state(void)
{
if (bPairingOnFlag == 1)
{
return API_PAIRING_STATE;
}
switch( State )
{
case IDLE:
{
return APP_API_IDLE_STATE;
}
case HEAT:
case HEAT_AROMA:
{
return APP_API_WORK_STATE;
}
default:
{
return APP_API_IDLE_STATE;
}
}
}
uint8_t api_get_state_for_bt(void)
{
switch( State )
{
case IDLE:
{
return 0;
}
case HEAT:
case HEAT_AROMA:
{
return 2;
}
default:
{
return 255;
}
}
}
uint8_t api_get_program_for_bt(void)
{
return api_get_state();
}
//=======================================================================
uint8_t API_SetSound (uint8_t _sound)
{
if (_sound > 1) return 0;
else
{
soundEnable = _sound;
}
return 1;
}
uint8_t API_GetSound (void)
{
return soundEnable;
}
//========================================================================
uint8_t API_SetAroma (uint8_t _aroma)
{
if (_aroma > 1) return 0;
else
{
SetAroma(_aroma);
}
return 1;
}
uint8_t API_GetAroma (void)
{
return GetAroma();
}
//=========================================================================
uint8_t API_SetCurrentTime (uint16_t _minute)
{
if (_minute > 1439) return 0;
else
{
globalTime = _minute;
if ( !timer_check_run(timer_show_lock) ) // если не запущен таймер показа блокировки.
{
sendTimeToLCD(globalTime);
}
}
return 1;
}
uint16_t API_GetCurrentTime (void)
{
return globalTime;
}
//=========================================================================
uint8_t API_SetDelayedStart (uint16_t _delayedStart)
{
return SetDelayedStart(_delayedStart);
}
uint8_t API_GetDelayedStart (void)
{
return delayedStart;
}
//=========================================================================
uint8_t API_SetTimerTime (uint16_t _minute)
{
if (_minute > 1439) return 0;
else
{
timerTime = _minute;
}
return 1;
}
uint16_t API_GetTimerTime (void)
{
return timerTime;
}
//=========================================================================
uint8_t API_SetLock (uint8_t _lock)
{
if (_lock > 1) return 0;
else
{
bLockKeys = _lock;
}
return 1;
}
uint8_t API_GetLock (void)
{
return bLockKeys;
}
//********************************************************************************
//********************************************************************************
//Get error
uint8_t API_GetError(void)
{
return API_NO_ERR;
}
////////////////////////////////////////////////////////////////
//Return a state of the unpairing flag
bool API_IsUnpairing(void)
{
return bUnpairFlag;
}
//Clear unpairing flag
void API_ClrUnpairing(void)
{
bUnpairFlag = 0;
}
////////////////////////////////////////////////////////////////