All files / src powerblue_shades.ts

78.95% Statements 45/57
45.45% Branches 10/22
100% Functions 2/2
78.95% Lines 45/57
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80      1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x       1x 8x 1x   1x 1x 1x 1x   1x   1x                   1x         1x                          
/* These should match the Unified Firmware powerblue_shades.h file - hence the naming match. vv */
 
/** The Unified Firmware shade configuration block ID */
export enum FirmwareIndex {
  Undefined = 0,
  Duette_TD = 0x01,
  Duette_BU = 0x02,
  Duette_TDBU = 0x03,
  Pirouette_4Inch = 0x08,
  Pirouette_5Inch = 0x09,
  Silhouette_2Inch = 0x0B,
  Silhouette_3Inch = 0x0C,
  Silhouette_4Inch = 0x0D,
  Quartette = 0x0E,
  Quartette_31mm = 0x10,
  Vignette = 0x12,
  Silhouette_DuoLite_2 = 0x14,
  Silhouette_DuoLite_3 = 0x15,
  Silhouette_DuoLite_4 = 0x16,
  AC_Motor = 0x18,
  Sonnette = 0x19,
  Roller = 0x20,
  Gen2_Repeater = 0x21,
  Gen2_Hub = 0x24,
  Silhouette_Levolor = 0x25,
  Duette_Twin = 0x28,
  Roller_31mm = 0x2A,
  Vignette_DuoLite = 0x30,
  Quartette_Ultra = 0x31,
  Shutter = 0x32,
  Shutter_Eclipse = 0x33,
  Shutter_Levolor = 0x34,
  Vignette_Adeux = 0x3A,
  Silhouette_Adeux = 0x3E,
  Roller_23mm_Levolor = 0x47,
  Roller_31mm_Levolor = 0x51,
  Skyline = 0xA0
}
 
/** Get an english name for the fimware index.  Non Localized */
export const nameForFirmwareIndex = (index: FirmwareIndex) => {
	switch(index) {
    case FirmwareIndex.Duette_TD: return "Duette (BU)";
		case FirmwareIndex.Duette_BU: return "Duette (BU)";
		case FirmwareIndex.Duette_TDBU: return "Duette (TDBU)";
		case FirmwareIndex.Undefined: return "Undefined";
		case FirmwareIndex.Pirouette_4Inch: return 'Pirouette 4"';
    case FirmwareIndex.Pirouette_5Inch: return 'Pirouette 5"';
    case FirmwareIndex.Silhouette_2Inch: return 'Silhouette 2"';
    case FirmwareIndex.Silhouette_3Inch: return 'Silhouette 3"';
    case FirmwareIndex.Silhouette_4Inch: return 'Silhouette 4"';
		case FirmwareIndex.Sonnette: return "Sonnette";
		case FirmwareIndex.Roller: return  "Roller";
		case FirmwareIndex.Quartette: return "Quartette";
		case FirmwareIndex.Quartette_31mm: return "Quartette 31mm";
    case FirmwareIndex.Quartette_Ultra: return "Quartette Ultra";
    case FirmwareIndex.Silhouette_DuoLite_2: return '"Silhouette DuoLite 2"';
    case FirmwareIndex.Silhouette_DuoLite_3: return '"Silhouette DuoLite 3"';
    case FirmwareIndex.Silhouette_DuoLite_4: return '"Silhouette DuoLite 4"'
    case FirmwareIndex.Silhouette_Adeux: return "Silhouette Adeux";
    case FirmwareIndex.Skyline: return "Skyline";
		default: return "Other";
	}
};
 
/** Shades that are supported via Unified Firmware and can accept a Nordic DFU */
export const DFUShadeFirmwareIndexWhiteList: FirmwareIndex[] = [
	FirmwareIndex.Duette_BU,
  FirmwareIndex.Duette_TDBU,
  FirmwareIndex.Silhouette_2Inch,
  FirmwareIndex.Silhouette_3Inch,
  FirmwareIndex.Silhouette_4Inch,
	FirmwareIndex.Sonnette,
	FirmwareIndex.Pirouette_4Inch,
  FirmwareIndex.Pirouette_5Inch,
  FirmwareIndex.Silhouette_DuoLite_2,
  FirmwareIndex.Silhouette_DuoLite_3,
  FirmwareIndex.Silhouette_DuoLite_4,
  FirmwareIndex.Skyline
];