MCPcopy Create free account
hub / github.com/SmingHub/Sming / getCodeWordD

Method getCodeWordD

Sming/Libraries/RCSwitch/RCSwitch.cpp:400–463  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

398 */
399
400char* RCSwitch::getCodeWordD(char sGroup, int nDevice, boolean bStatus){
401 static char sReturn[13];
402 int nReturnPos = 0;
403
404 // Building 4 bits address
405 // (Potential problem if dec2binWcharfill not returning correct string)
406 char *sGroupCode;
407 switch(sGroup){
408 case 'a':
409 case 'A':
410 sGroupCode = dec2binWcharfill(8, 4, 'F'); break;
411 case 'b':
412 case 'B':
413 sGroupCode = dec2binWcharfill(4, 4, 'F'); break;
414 case 'c':
415 case 'C':
416 sGroupCode = dec2binWcharfill(2, 4, 'F'); break;
417 case 'd':
418 case 'D':
419 sGroupCode = dec2binWcharfill(1, 4, 'F'); break;
420 default:
421 sReturn[0] = '\0';
422 return sReturn;
423
424 }
425
426 for (int i = 0; i<4; i++) {
427 sReturn[nReturnPos++] = sGroupCode[i];
428 }
429
430
431 // Building 3 bits address
432 // (Potential problem if dec2binWcharfill not returning correct string)
433 char *sDevice;
434 switch(nDevice) {
435 case 1:
436 sDevice = dec2binWcharfill(4, 3, 'F'); break;
437 case 2:
438 sDevice = dec2binWcharfill(2, 3, 'F'); break;
439 case 3:
440 sDevice = dec2binWcharfill(1, 3, 'F'); break;
441 default:
442 sReturn[0] = '\0';
443 return sReturn;
444 }
445
446 for (int i = 0; i<3; i++)
447 sReturn[nReturnPos++] = sDevice[i];
448
449 // fill up rest with zeros
450 for (int i = 0; i<5; i++)
451 sReturn[nReturnPos++] = '0';
452
453 // encode on or off
454 if (bStatus)
455 sReturn[10] = '1';
456 else
457 sReturn[11] = '1';

Callers 2

switchOnMethod · 0.95
switchOffMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected