bool KRT2Device::PutFrequency(char cmd, RadioFrequency frequency, const TCHAR *name, OperationEnvironment &env) { if (frequency.IsDefined()) { struct { uint8_t start = STX; uint8_t command; uint8_t mhz; uint8_t khz; char station[MAX_NAME_LENGTH]; uint8_t checksum; } msg; msg.command = cmd; msg.mhz = frequency.GetKiloHertz() / 1000; msg.khz = (frequency.GetKiloHertz() % 1000) / 5; GetStationName(msg.station, name); msg.checksum = msg.mhz ^ msg.khz; Send((uint8_t *) &msg, sizeof(msg), env); return true; } return false; }
/* GetIcyData() */ void CIcy::GetIcyData(ICYDATA* pIcyData) { memset(pIcyData,'\0',sizeof(ICYDATA)); if(m_nResponse==ICY_CODE_OK) { strcpyn(pIcyData->station,GetStationName(),ICY_MAX_STATION+1); strcpyn(pIcyData->genre,GetGenre(),ICY_MAX_GENRE+1); strcpyn(pIcyData->url,GetUrl(),ICY_MAX_URL+1); strcpyn(pIcyData->contenttype,GetContentType(),ICY_MAX_CONTENT+1); pIcyData->metaint = GetMetaInterval(); pIcyData->bitrate = GetBitRate(); strcpyn(pIcyData->notice,GetNotice(),ICY_MAX_NOTICE+1); strcpyn(pIcyData->noticeinfo,GetNoticeInfo(),ICY_MAX_NOTICE+1); pIcyData->code = m_nResponse; } }