diff --git a/.gitignore b/.gitignore index b3c6802..ddd4e13 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ Keil 8051 v9.53 - Release/*.omf Keil 8051 v9.53 - Release/*.mk Keil 8051 v9.53 - Release/makefile oscilloscope.jpg +imported_project_report.html diff --git a/Keil 8051 v9.53 - Release/RF-Bridge-EFM8BB1.hex b/Keil 8051 v9.53 - Release/RF-Bridge-EFM8BB1.hex index 00bf03f..1f3cb6d 100644 --- a/Keil 8051 v9.53 - Release/RF-Bridge-EFM8BB1.hex +++ b/Keil 8051 v9.53 - Release/RF-Bridge-EFM8BB1.hex @@ -59,10 +59,10 @@ :100390000569900005E0FFA3E090008CCFF0A3EF8B :1003A000F0900007E0FFA3E090008ECFF0A3EFF005 :1003B000900003E0FFA3E0900090CFF0A3EFF09057 -:1003C0001AC5E493FD1217FC752DFF8A2EF52F90A8 -:1003D0001AC8E493F5301217FC7531FF8A32F533F1 -:1003E000901ACBE493F5341217FC7535FF8A36F575 -:1003F00037901ACEE493F538A3E493F539A3E49348 +:1003C0001AE9E493FD1217FC752DFF8A2EF52F9084 +:1003D0001AECE493F5301217FC7531FF8A32F533CD +:1003E000901AEFE493F5341217FC7535FF8A36F551 +:1003F00037901AF2E493F538A3E493F539A3E49324 :1004000024FF9200753A00753B097B017A00798CD4 :10041000120F990200B09000EBE07063C2807FA0E1 :100420000204DC9000DFE060030200B0900003E013 @@ -130,17 +130,17 @@ :10080000DFFCA9F0228E268F27E4F528C3E5279484 :1008100064E5269400501EE4F528E528120E0BF836 :10082000E4F608F6E528120E2FE4F60528E528B4CC -:1008300009E8C2902290008AE01470030208ED04D7 -:100840006003020A477882E6C4540F704CD3E52750 +:100830000CE8C2902290008AE01470030208ED04D4 +:100840006003020A47788BE6C4540F704CD3E52747 :100850009494E52694115003020A47300003020ADB :1008600047120E3718F6ED08F618120E3718F6ED87 :1008700008F6120EF9AE26FF7C007D1F1205E190EE :10088000008CEEF0A3EFF07C007D031205CFA3EE09 -:10089000F0A3EFF0A3120EFC227882E6C4540F649A -:1008A000026003020A47A20033FF901BC5E4936F66 +:10089000F0A3EFF0A3120EFC22788BE6C4540F6491 +:1008A000026003020A47A20033FF901C37E4936FF3 :1008B000C36001D3920185262A85272B752C0175EB -:1008C0002D00752E8C901BBE120E21120F85901BD1 -:1008D000C0E493F532A3120E21120F8F901BC3E4D4 +:1008C0002D00752E8C901C30120E21120F85901C5D +:1008D00032E493F532A3120E21120F8F901C35E4EF :1008E00093F536A3E493F537E4FF020A48E4F528CC :1008F000E528120E0BF9E7C4540F7044120E4D1286 :100900000ED6D394014011120E4D120EE2FFA2003A @@ -149,7 +149,7 @@ :10093000E493D082D0831214DD4003020A3B805C32 :10094000E528120E0BF9E7C4540F7E00540FFF1276 :100950000E4D120ED6F9FDC3EF9DEE9400506712B6 -:100960000E4D24B8F582E4341BF583E493FC740146 +:100960000E4D242AF582E4341CF583E493FC7401D3 :1009700093F5828C83C083C082120E4D120F3CF51A :1009800083E493FC7401932FF582EE3CF583E493AA :10099000D082D0831214DD501A120EF9E528120EFF @@ -159,11 +159,11 @@ :1009D000540FFFE96F7001E47061120E4D120EE2C8 :1009E000FFA200E4336FC36001D3920185262A85FC :1009F000272B120E12AA06752CFF8A2DF52E120E29 -:100A00004D24BEF582E4341B120E1F120F85120E08 -:100A10004D120F44F532120E4D24C1F582E4341B01 +:100A00004D2430F582E4341C120E1F120F85120E95 +:100A10004D120F44F532120E4D2433F582E4341C8E :100A2000120E1F120F8F120E4D120F50F536120EAE :100A30004D120F5CF537AF28120A480528E528C388 -:100A4000940950030208F0228F29E4F538EF120EC2 +:100A4000940C50030208F0228F29E4F538EF120EBF :100A50002FE6701A90008B7408F07E007F707D0086 :100A60007B017A0079031207D9E490007AF0AB2C6D :100A7000AA2DA92EC003C002C001120E09F9E7ABCE @@ -224,9 +224,9 @@ :100DE0000003F0900074E0547FF0900086E04480AF :100DF000F0C2908000E4900087F022A2009201AF40 :100E000027AE2612185B22C290E52975F003A424B0 -:100E10008222E52875F00EA424B8F582E4341BF58F +:100E10008B22E52875F00EA4242AF582E4341CF513 :100E200083E493FE74019322F8E4F608F6E529754D -:100E3000F003A42484F822E6FC08E6FDECC4540F79 +:100E3000F003A4248DF822E6FC08E6FDECC4540F70 :100E40002401FFEFC454F0FEEC540F4E22E5287548 :100E5000F00EA422E529252BF582E43528F583E060 :100E600022A200E433C433333354804526FFE52700 @@ -236,16 +236,16 @@ :100EA000E7C4540F4822540FF58275830012059051 :100EB00075F002A4F58285F08322E52E25E0248CCE :100EC000F582E43400F58322853D827583001205A6 -:100ED00090FFC3952C2224BDF582E4341BF583E4F6 -:100EE000932224C5F582E4341BF583E49322900019 +:100ED00090FFC3952C22242FF582E4341CF583E483 +:100EE00093222437F582E4341CF583E493229000A6 :100EF00085E0FF90007AE06F22900001E526F0A3E4 :100F0000E527F022120682FDACF0AF2BAE2A0214C8 :100F1000EE2403F582E43400F58322E52975F0031D -:100F2000A42483F8740F5622F8E6FC08E6FDEC22B0 -:100F300090007AE0900085F053DAFE2224BBF5821F -:100F4000E4341B2224C0F582E4341BF583E49322AD -:100F500024C3F582E4341BF583E4932224C4F58290 -:100F6000E4341BF583E4932225E0247DF582E43408 +:100F2000A4248CF8740F5622F8E6FC08E6FDEC22A7 +:100F300090007AE0900085F053DAFE22242DF582AD +:100F4000E4341C222432F582E4341CF583E4932239 +:100F50002435F582E4341CF583E493222436F582AB +:100F6000E4341CF583E4932225E0247DF582E43407 :100F700000F58322F8A60608A60722C39538FDE4EB :100F80009400FCED22AA06752FFF8A30F53122AAC3 :100F9000067533FF8A34F535228B298A2A892B8DF1 @@ -264,13 +264,13 @@ :10106000019202AB29AA2AA92B75F002EFA4F582FE :1010700085F083120682F54185F04012000392014B :10108000228F268C278D28EF120E14AA06F97BFFDB -:10109000C003C002C001EF75F00EA424BAF582E4CB -:1010A000341BF583E493FDEF75F00EA4120F3C1290 +:10109000C003C002C001EF75F00EA4242CF582E459 +:1010A000341CF583E493FDEF75F00EA4120F3C128F :1010B0000E1FAA068B2D8A2EF52FEF75F00EA412A7 -:1010C0000ED6F530EF75F00EA424BEF582E4341B85 +:1010C0000ED6F530EF75F00EA42430F582E4341C12 :1010D000120E1FAA068B318A32F533EF75F00EA47B -:1010E000120F44F534EF75F00EA424C1F582E434F8 -:1010F0001B120E1FAA068B358A36F537EF75F00ED8 +:1010E000120F44F534EF75F00EA42433F582E43486 +:1010F0001C120E1FAA068B358A36F537EF75F00ED7 :10110000A4120F50F538EF75F00EA4120F5CF539EC :10111000EF75F00EA4120EE224FF920085273A85A7 :10112000283BD001D002D003020F998E268F278C46 @@ -293,7 +293,7 @@ :10123000E1E014F08002D2049000DDE0B42002E48A :10124000F0D007D006D005D004D003D002D001D012 :1012500000D0D0D082D083D0F0D0E03212005A78C3 -:101260007FE4F6D8FD7581B70212A6020076E493FA +:101260007FE4F6D8FD7581D20212A6020076E493DF :10127000A3F8E493A34003F68001F208DFF4802989 :10128000E493A3F85407240CC8C333C4540F442078 :10129000C8834004F456800146F6DFE4800B010267 @@ -355,11 +355,11 @@ :101610000DC39000E9E09DF09000E8E09CF0D00759 :10162000D006D005D004D0D0D082D083D0E032AE66 :1016300005AD07E4FCFB7FAA121928AF0512192893 -:10164000EE75F00EA424B9F582E4341CF583E4931E +:10164000EE75F00EA42479F582E4341DF583E4935D :10165000FFECC39F500774082CFC0B80F4EB04FFD5 :10166000121923E4FCECC39B500974032C121830AC :101670000C80F27F55121928021A3C8F26900079AF -:10168000E0F5277E007F1B7D007B007A00798212C7 +:10168000E0F5277E007F247D007B007A00798B12B5 :1016900007D97F0B121A4543DA011200707D0A7CCC :1016A000007F017E001218AE12001DE4900087F04A :1016B000900086F090009AE526F0900079F0AF2730 @@ -425,45 +425,60 @@ :101A70000001010001F403E805DC733C03020100EE :101A800001019004B00BB81C5202030001010001D7 :101A9000C20384286E02000001010000D201A41DCF -:101AA00088020000010100028A1E82071C0F8C00C0 -:101AB0000100020003016802D012C005DC0203002D -:101AC0000101001A4C031A52021A54021A56021843 -:101AD000001A58041A60021A62021A640228001AD4 -:101AE00066041A6E021A70021A720218001A74043E -:101AF0001A7C011A7D021A7F0247001A81041A8992 -:101B0000021A8B021A8D0218001A8F031A95021AF4 -:101B100097021A990218011A9B031AA1021AA3022A -:101B20001AA5020C011AA7041AAF021AB1021AB3BD -:101B30000228001AB5041ABD021ABF021AC10228EF -:101B400000015E041A2A6200020001010001720213 -:101B5000E412C005DC020300010100017C044C0B0F -:101B6000B8232802030001010001F403E805DC7337 -:101B70003C0302010001019004B00BB81C520203A7 -:101B80000001010001C20384286E0200000101006F -:101B900000D201A41D88020000010100028A1E82F9 -:101BA000071C0F8C000100020003016802D012C064 -:101BB00005DC0203000101001B41031B47021B4916 -:101BC000021B4B0218001B4D041B55021B57021B26 -:101BD000590228001B5B041B63021B65021B670282 -:101BE00018001B69041B71011B72021B7402470061 -:101BF0001B76041B7E021B80021B820218001B84C2 -:101C0000031B8A021B8C021B8E0218011B90031BF4 -:101C100096021B98021B9A020C011B9C041BA40237 -:101C20001BA6021BA80228001BAA041BB2021BB49D -:101C3000021BB6022800015E041A2A62000200019B -:101C40000100017202E412C005DC02030001010080 -:101C5000017C044C0BB8232802030001010001F4AD -:101C600003E805DC733C0302010001019004B00BA2 -:101C7000B81C5202030001010001C20384286E0255 -:101C8000000001010000D201A41D88020000010132 -:101C900000028A1E82071C0F8C0001000200030153 -:101CA0006802D012C005DC0203000101001C3603EB -:101CB0001C3C021C3E021C400218001C42041C4A30 -:101CC000021C4C021C4E0228001C50041C58021C12 -:101CD0005A021C5C0218001C5E041C66011C670290 -:101CE0001C690247001C6B041C73021C75021C77E4 -:101CF0000218001C79031C7F021C81021C8302183D -:101D0000011C85031C8B021C8D021C8F020C011C04 -:101D100091041C99021C9B021C9D0228001C9F041C -:0B1D20001CA7021CA9021CAB0228003B +:101AA0008802000001010000C8017C1B2602000022 +:101AB000010100015E028A32C8020000010100013A +:101AC0005E02BC3D22020000010100028A1E820764 +:101AD0001C0F8C000100020003016802D012C00537 +:101AE000DC0203000101001A4C031A52021A5402CC +:101AF0001A560218001A58041A60021A62021A646E +:101B00000228001A66041A6E021A70021A7202186B +:101B1000001A74041A7C011A7D021A7F0247001A07 +:101B200081041A89021A8B021A8D0218001A8F0377 +:101B30001A95021A97021A990218011A9B031AA100 +:101B4000021AA3021AA5020C011AA7031AAD021A5F +:101B5000AF021AB1020C011AB3031AB9021ABB027E +:101B60001ABD020C011ABF031AC5021AC7021AC90C +:101B70000212011ACB041AD3021AD5021AD702286C +:101B8000001AD9041AE1021AE3021AE50228000138 +:101B90005E041A2A62000200010100017202E412CE +:101BA000C005DC020300010100017C044C0BB823DA +:101BB0002802030001010001F403E805DC733C0383 +:101BC00002010001019004B00BB81C520203000195 +:101BD000010001C20384286E02000001010000D24E +:101BE00001A41D8802000001010000C8017C1B2621 +:101BF000020000010100015E028A32C802000001F9 +:101C00000100015E02BC3D22020000010100028AC7 +:101C10001E82071C0F8C000100020003016802D025 +:101C200012C005DC0203000101001B8F031B95029B +:101C30001B97021B990218001B9B041BA3021BA5E8 +:101C4000021BA70228001BA9041BB1021BB3021B25 +:101C5000B50218001BB7041BBF011BC0021BC20248 +:101C600047001BC4041BCC021BCE021BD002180071 +:101C70001BD2031BD8021BDA021BDC0218011BDE7D +:101C8000031BE4021BE6021BE8020C011BEA031B18 +:101C9000F0021BF2021BF4020C011BF6031BFC02F8 +:101CA0001BFE021C00020C011C02031C08021C0A81 +:101CB000021C0C0212011C0E041C16021C18021C31 +:101CC0001A0228001C1C041C24021C26021C2802C8 +:101CD0002800015E041A2A6200020001010001725C +:101CE00002E412C005DC020300010100017C044C87 +:101CF0000BB8232802030001010001F403E805DC0E +:101D0000733C0302010001019004B00BB81C5202A5 +:101D1000030001010001C20384286E0200000101DA +:101D20000000D201A41D8802000001010000C801CA +:101D30007C1B26020000010100015E028A32C802FB +:101D40000000010100015E02BC3D22020000010111 +:101D500000028A1E82071C0F8C0001000200030192 +:101D60006802D012C005DC0203000101001CD2038E +:101D70001CD8021CDA021CDC0218001CDE041CE663 +:101D8000021CE8021CEA0228001CEC041CF4021CE1 +:101D9000F6021CF80218001CFA041D02011D0302C1 +:101DA0001D050247001D07041D0F021D11021D1312 +:101DB0000218001D15031D1B021D1D021D1F021808 +:101DC000011D21031D27021D29021D2B020C011DCF +:101DD0002D031D33021D35021D37020C011D390371 +:101DE0001D3F021D41021D43020C011D45031D4BF9 +:101DF000021D4D021D4F0212011D51041D59021DED +:101E00005B021D5D0228001D5F041D67021D690243 +:051E10001D6B0228001B :00000001FF diff --git a/inc/RF_Protocols.h b/inc/RF_Protocols.h index 58599f2..13a1e92 100644 --- a/inc/RF_Protocols.h +++ b/inc/RF_Protocols.h @@ -145,6 +145,41 @@ SI_SEGMENT_VARIABLE(PROTOCOL_START(HT12)[], static uint8_t, SI_SEG_CODE) = { 2, SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(HT12)[], static uint8_t, SI_SEG_CODE) = { 0, 1 }; SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12)[], static uint8_t, SI_SEG_CODE) = { 1, 0 }; +/* + * HT12A/HT12E chips - Generic Doorbell + * http://www.holtek.com/documents/10179/116711/2_12ev120.pdf + */ +#define HT12a + +SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(HT12a)[], static uint16_t, SI_SEG_CODE) = { 200, 380, 6950}; +SI_SEGMENT_VARIABLE(PROTOCOL_START(HT12a)[], static uint8_t, SI_SEG_CODE) = { 2, 0 }; +SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(HT12a)[], static uint8_t, SI_SEG_CODE) = { 0, 1 }; +SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12a)[], static uint8_t, SI_SEG_CODE) = { 1, 0 }; + +/* + * HT12A/HT12E chips - Atag Extractor - Plus/Minus + * http://www.holtek.com/documents/10179/116711/2_12ev120.pdf + */ + +#define HT12b + +SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(HT12b)[], static uint16_t, SI_SEG_CODE) = { 350, 650, 13000}; +SI_SEGMENT_VARIABLE(PROTOCOL_START(HT12b)[], static uint8_t, SI_SEG_CODE) = { 2, 0 }; +SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(HT12b)[], static uint8_t, SI_SEG_CODE) = { 0, 1 }; +SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12b)[], static uint8_t, SI_SEG_CODE) = { 1, 0 }; + +/* + * HT12A/HT12E chips - Atag Extractor - Lights/Timer + * http://www.holtek.com/documents/10179/116711/2_12ev120.pdf + */ + +#define HT12c + +SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(HT12c)[], static uint16_t, SI_SEG_CODE) = { 350, 700, 15650}; +SI_SEGMENT_VARIABLE(PROTOCOL_START(HT12c)[], static uint8_t, SI_SEG_CODE) = { 2, 0 }; +SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(HT12c)[], static uint8_t, SI_SEG_CODE) = { 0, 1 }; +SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12c)[], static uint8_t, SI_SEG_CODE) = { 1, 0 }; + /* * Meteo SPxx - Weather station (PHU Metrex) * https://gist.github.com/klaper/ce3ba02501516d9a6d294367d2c300a6 @@ -252,6 +287,42 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_ true }, + /* + * HT12A/HT12E chips - A + */ + { + { &PROTOCOL_PULSES(HT12a), ARRAY_LENGTH(PROTOCOL_PULSES(HT12a)) }, + { &PROTOCOL_START(HT12a), ARRAY_LENGTH(PROTOCOL_START(HT12a)) }, + { &PROTOCOL_BIT0(HT12a), ARRAY_LENGTH(PROTOCOL_BIT0(HT12a)) }, + { &PROTOCOL_BIT1(HT12a), ARRAY_LENGTH(PROTOCOL_BIT1(HT12a)) }, + 12, + true + }, + + /* + * HT12A/HT12E chips - B + */ + { + { &PROTOCOL_PULSES(HT12b), ARRAY_LENGTH(PROTOCOL_PULSES(HT12b)) }, + { &PROTOCOL_START(HT12b), ARRAY_LENGTH(PROTOCOL_START(HT12b)) }, + { &PROTOCOL_BIT0(HT12b), ARRAY_LENGTH(PROTOCOL_BIT0(HT12b)) }, + { &PROTOCOL_BIT1(HT12b), ARRAY_LENGTH(PROTOCOL_BIT1(HT12b)) }, + 12, + true + }, + + /* + * HT12A/HT12E chips - C + */ + { + { &PROTOCOL_PULSES(HT12c), ARRAY_LENGTH(PROTOCOL_PULSES(HT12c)) }, + { &PROTOCOL_START(HT12c), ARRAY_LENGTH(PROTOCOL_START(HT12c)) }, + { &PROTOCOL_BIT0(HT12c), ARRAY_LENGTH(PROTOCOL_BIT0(HT12c)) }, + { &PROTOCOL_BIT1(HT12c), ARRAY_LENGTH(PROTOCOL_BIT1(HT12c)) }, + 18, + true + }, + /* * Meteo SPxx - Weather station (PHU Metrex) */