cwEuCon.cpp : Send state changes back to FDR.
This commit is contained in:
parent
222e058579
commit
c4b0b0dba3
42
cwEuCon.cpp
42
cwEuCon.cpp
@ -315,6 +315,11 @@ namespace cw
|
|||||||
|
|
||||||
struct eucon_str;
|
struct eucon_str;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
bool muteFl;
|
||||||
|
} ch_t;
|
||||||
|
|
||||||
// FBank object
|
// FBank object
|
||||||
typedef struct fbank_str
|
typedef struct fbank_str
|
||||||
{
|
{
|
||||||
@ -327,6 +332,8 @@ namespace cw
|
|||||||
time::spec_t nextSendHbTs;
|
time::spec_t nextSendHbTs;
|
||||||
struct fbank_str* link;
|
struct fbank_str* link;
|
||||||
uint32_t remoteAddr;
|
uint32_t remoteAddr;
|
||||||
|
ch_t* chA;
|
||||||
|
unsigned chN;
|
||||||
} fbank_t;
|
} fbank_t;
|
||||||
|
|
||||||
// EuCon manager object
|
// EuCon manager object
|
||||||
@ -458,8 +465,11 @@ namespace cw
|
|||||||
fb->sockUserId = kBaseSockUserId + fbIndex;
|
fb->sockUserId = kBaseSockUserId + fbIndex;
|
||||||
fb->protoState = kSendHandshake_0_Id;
|
fb->protoState = kSendHandshake_0_Id;
|
||||||
fb->link = p->fbankL;
|
fb->link = p->fbankL;
|
||||||
|
fb->chN = 8;
|
||||||
|
fb->chA = mem::allocZ<ch_t>(fb->chN);
|
||||||
p->fbankL = fb;
|
p->fbankL = fb;
|
||||||
|
|
||||||
|
|
||||||
return fb;
|
return fb;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -507,11 +517,11 @@ namespace cw
|
|||||||
|
|
||||||
while( bi<bufByteN )
|
while( bi<bufByteN )
|
||||||
{
|
{
|
||||||
char type = 'U';
|
char type = 'U';
|
||||||
uint16_t numb = 0;
|
uint16_t numb = 0;
|
||||||
uint16_t id = 0;
|
uint16_t id = 0;
|
||||||
uint16_t ch = 0;
|
uint16_t chIdx = 0;
|
||||||
unsigned incr = 8;
|
unsigned incr = 8;
|
||||||
|
|
||||||
|
|
||||||
// if this is a heartbeat msg
|
// if this is a heartbeat msg
|
||||||
@ -523,9 +533,9 @@ namespace cw
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
uint16_t* v = (uint16_t*)(buf+bi);
|
uint16_t* v = (uint16_t*)(buf+bi);
|
||||||
ch = ntohs(v[0]);
|
chIdx = ntohs(v[0]);
|
||||||
id = ntohs(v[1]);
|
id = ntohs(v[1]);
|
||||||
numb = ntohs(v[3]);
|
numb = ntohs(v[3]);
|
||||||
|
|
||||||
switch(id )
|
switch(id )
|
||||||
{
|
{
|
||||||
@ -538,7 +548,14 @@ namespace cw
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case kMuteEuconId:
|
case kMuteEuconId:
|
||||||
type = 'M';
|
{
|
||||||
|
type = 'M';
|
||||||
|
|
||||||
|
fb->chA[chIdx].muteFl = !fb->chA[chIdx].muteFl;
|
||||||
|
|
||||||
|
if(_send_app_msg(fb, chIdx, kMuteEuconId, !fb->chA[chIdx].muteFl ) != kOkRC )
|
||||||
|
cwLogError(kOpFailRC,"Send mute msg failed.");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kPingEuconId:
|
case kPingEuconId:
|
||||||
@ -552,13 +569,10 @@ namespace cw
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( type != 'H' )
|
if( type != 'H' )
|
||||||
printf("%i %i : %c (0x%x) %i (0x%x)\n",fb->fbIndex, ch, type,id,numb,numb);
|
printf("%i %i : %c (0x%x) %i (0x%x)\n",fb->fbIndex, chIdx, type,id,numb,numb);
|
||||||
|
|
||||||
bi += incr;
|
bi += incr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void _tcpCallback( void* arg, sock::cbOpId_t cbOpId, unsigned userId, unsigned connId, const void* data, unsigned dataByteCnt, const struct sockaddr_in* fromAddr )
|
void _tcpCallback( void* arg, sock::cbOpId_t cbOpId, unsigned userId, unsigned connId, const void* data, unsigned dataByteCnt, const struct sockaddr_in* fromAddr )
|
||||||
@ -744,7 +758,6 @@ namespace cw
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -813,7 +826,6 @@ cw::rc_t cw::eucon::destroy( handle_t& hRef )
|
|||||||
|
|
||||||
hRef.clear();
|
hRef.clear();
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cw::rc_t cw::eucon::exec( handle_t h, unsigned sockTimeOutMs )
|
cw::rc_t cw::eucon::exec( handle_t h, unsigned sockTimeOutMs )
|
||||||
|
Loading…
Reference in New Issue
Block a user