It still gives a compilation error.
void relay( void )
{
uint8_t
**stateRelay = RLY_IDLE;**
static uint32_t
timeRelay;
uint32_t
timeNow = millis();
switch( stateRelay )
{
case RLY_IDLE:
//waiting for flag to indicate relay sequence
if( bRelay == true )
{
timeRelay = timeNow;
stateRelay = RLY_ON;
}//if
break;
case RLY_DELAY:
//delay before turning the relay on
if( millis() - timeRelay >= K_RELAY_DELAY_TIME )
{
digitalWrite( relay2, LOW ); //relay on
timeRelay = timeNow;
stateRelay = RLY_HOLD;
}//if
break;
case RLY_HOLD:
//relay on-timing
if( millis() - timeRelay >= K_RELAY_HOLD_TIME )
{
digitalWrite( relay2, HIGH );
bRelay = false;
stateRelay = RLY_IDLE;
}//if
break;
}//switch
}//relay
"RLY_IDLE" was not declared in this scope