From 9e8c841df02373917cd7fa12ced6478779b7274c Mon Sep 17 00:00:00 2001 From: Alexei Humeniy Date: Fri, 28 Oct 2022 12:15:59 -0300 Subject: [PATCH 1/3] Increase pilars line width to improve visibility --- .../plugins/flappy_bird/flappy_bird.c | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/applications/plugins/flappy_bird/flappy_bird.c b/applications/plugins/flappy_bird/flappy_bird.c index 821df5fe1..9895c2c31 100644 --- a/applications/plugins/flappy_bird/flappy_bird.c +++ b/applications/plugins/flappy_bird/flappy_bird.c @@ -181,12 +181,36 @@ static void flappy_game_render_callback(Canvas* const canvas, void* ctx) { canvas_draw_frame( canvas, pilar->point.x, pilar->point.y, FLAPPY_GAB_WIDTH, pilar->height); + canvas_draw_frame( + canvas, pilar->point.x + 1, pilar->point.y, FLAPPY_GAB_WIDTH, pilar->height); + + canvas_draw_frame( + canvas, + pilar->point.x + 2, + pilar->point.y, + FLAPPY_GAB_WIDTH - 1, + pilar->height); + canvas_draw_frame( canvas, pilar->point.x, pilar->point.y + pilar->height + FLAPPY_GAB_HEIGHT, FLAPPY_GAB_WIDTH, FLIPPER_LCD_HEIGHT - pilar->height - FLAPPY_GAB_HEIGHT); + + canvas_draw_frame( + canvas, + pilar->point.x + 1, + pilar->point.y + pilar->height + FLAPPY_GAB_HEIGHT, + FLAPPY_GAB_WIDTH - 1, + FLIPPER_LCD_HEIGHT - pilar->height - FLAPPY_GAB_HEIGHT); + + canvas_draw_frame( + canvas, + pilar->point.x + 2, + pilar->point.y + pilar->height + FLAPPY_GAB_HEIGHT, + FLAPPY_GAB_WIDTH - 1, + FLIPPER_LCD_HEIGHT - pilar->height - FLAPPY_GAB_HEIGHT); } } // Flappy From d52d9ffe79783b51cc69ae6b60508b084c266e19 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:40:59 +0300 Subject: [PATCH 2/3] update keeloq with new magic type --- assets/resources/subghz/assets/keeloq_mfcodes | 103 +++++++++--------- 1 file changed, 54 insertions(+), 49 deletions(-) diff --git a/assets/resources/subghz/assets/keeloq_mfcodes b/assets/resources/subghz/assets/keeloq_mfcodes index 1e6cf9a36..31619d6e7 100644 --- a/assets/resources/subghz/assets/keeloq_mfcodes +++ b/assets/resources/subghz/assets/keeloq_mfcodes @@ -1,52 +1,57 @@ Filetype: Flipper SubGhz Keystore File Version: 0 Encryption: 1 -IV: 3B 23 A4 B0 BA B1 BA 2C 45 B7 3D AF AE B1 D8 53 -7C22D7C0AD9099E4DD9BE3DD97F4E5171F0502B89FF7CA7B63A218EC70EA66FC -8468A45C97CC0718E3FE756DE72584C1C7F9FEB3E2873C6DE27A753017D69883 -A5983C8C10314C8BED1258B3CF7B81A43CFDAE0CB4A7E94EBDEC6B9876709157 -7B5C74E9011244735DB27F6D57BE32DA1DB26E1F60CE7C8D1029FDDCE3B12695 -940EF169CA9FE65E7E76FC4B3C8D67DF879D7D165A02E602DAF0B31FA0426B785D0E2500288603346505251D993F28F3 -639BBF96DBBA66408ABB04775689E7C85F4CBE3B1D94B834E4D371F6A262FF75 -1B4935A15D4C019C08E215025E6C1F2C89890C307CEF2ABAD9C1A1C84745B4FB -5796A104EA1D22A0B9000DA4630248635D1772FDB620B937963D1C8454CD2927 -661EBB18ECC20A236C0AE6BB0AE21B2BF3BDE64A42BA7616D2D87C2992C157FB -804352D4445CF4E08A7C7CEEA21DCCE0E2A0E436BA148C1E24DDDDA0B8ED3A67 -92D9D6C16DECD2E320D42818CC509FB3C22B8CA096630A50344FB2969653A6696FD46940C347205946358689D80F101E -02176E6C111509AB74FC6C88FE578F1C035A2676D93FA0AD595771A8A9BC536A842141B6FC0B56EFE1601614B931064A -5210722EA559F6F8ADD0E79F99A83265C2661DFDD7D1B1EEDAC02F641027EFCE -CCF01357E399E4F7F2FB32D1E697BF777948FF875A954F55F31BF02C6790EDDC -98E7CE7D325ED70B32200D809C109718DE633A5A286A3CDC889D9A241475AA4B -A7ECDEE650749FB4A7764F459AD49EE9F8FDC54B0E83A385BDB6413DD2D5DED1 -B2303659591EE6E9BDF56C1E70AEE6FAF21B97D7FEC026A96CFD780A7C3BC1FF5A4F868DC8BD4DD9160C3C8F715C6DC0 -869316BD6BB3E641A4C2BE32EF160E1B1405B16DD53A3042464CF5E07BBB7AC0 -72D442A018CD2875143AAFAE3D7C4AD1467BCBE0BE71119D123A7941EB0A56EA -32CC4E29CB6E03ECAE66BC38046D4BB1BDA7E3D0580F3F141008077EE906FA2EE6D2329706B96F49FA4E1E63EA974490 -791E004A574CC7A934DDE0ECAA097593721D71B9EE67995197CAB8349F166E230E5BA6488527C2BB55EA3E5BFD059F44 -2229CC65C99F31E6DB19B29CB625BF4EB95B5EB4AACC60BBB8C65BB7CBB07C2C -EA04BAF7B59B8D93678544D97BB0EDF81D043C97B740435AFA9EA9F3414829D6 -300A9BD3E912C5D09EFDB50F96704B8287BFDCBA82EF5D0E9D2306A4995B13BF -0C2EB6DBCB583977789DA234BCF186A0BE3008131360E46A85C13F7EA96469BC -2417D60848938A3DEAFC63344B4F49A68DC168FD6CE9D7F1CB7A0D70B2ABE32A -DF14D34ED4B03638926F1C4FF217AD3512A2C94C2A7B518CFCEB161FE9E0860E -AF920E82A02B46F3743626DB0FCB8F7EC1B444FA82F213C19F68E6A745BA5A8D -D7A5A38C2CEDA048F9FA5F091E3F36DC564698EF9BDC2B68A31188DF6294CA09 -5358679FC5EB2BC8C85ACA2957B24ACFD966FE53B9E9003264B06CDF900417F8 -D10608BCB41260D5A74E3224C820700E4D03C1CDC379E20D7C03564B3019189B -EE8EEA79570BB81660ED133D470E051FF45B4E5E8442D5931275353F6A434D66 -019AC0D9AF968B5CE43DA3FC1A6B11770B2CA801829BC05F88BB8A68AC074EDB -44EF315DA7310A4EE926B734B8F29A2241AAF631AF605B1FA9DD6C2AB2786695 -536FBE9BDD6FDED8F29CB6DC2935781874F8408DF6DB622CE8335B1BD21AB1C7 -76245B84908ECBC102E2F09FAB668D36A68D3C8BD2AB04A4FA119EBECAF232CA80A71D8BB379E59C62B6FB92717DB2FB -9EA362345970E8CA049119E5211BA78FDBCB33F5FD4B93B4189BE7FFA690ADA9 -40228619492D62DE5D98333265B2AF50773BDD0AC2C192A7C11073A37507CD12 -F6D31A4C37F591CD1C6FD2004501662549319C1862954A10CF5970099381BECC -8F917EAB00A545F6DEBF67A5DE9C12AA87AFE3C70C832EB4CC4F377A464F43C4 -E78E7F43A40C9AB1EA9DC9F9D2D7381ED037169928F8FEA2299C98C4B0F22569 -983E86FFEE7252E47AB1E0A0FB3CEEC901FF9627DD5242C9A688186F9889BEF0 -2B477C1E5DCD318DD039810D78879185BD8F1DF8C7BB0E330316A4D85A46A7BE -645F7E9A2EC08168432B3B9D80F45D30BA27E35C1D7075D14882EF50D00C811ED37E39F87C2115B47E302D7A90B2EC4F -20713989A6FAFC8B4F43A141AED90A67CA4C49D858EEB6E9BC802EA395D5553C -AB312E5A23E5804D089224BFC62252C92BC23F712C9426DEA1B3742F2A6A3502 -AAE727A60B82B21EA9E7E8111C048581F11F770AF34C619E85932C63C8636895 -1FE3C9BD1241B49E2737B6D760040050D984E4EBF39B5F7C04D16FD84604129C +IV: 5C AD F1 B1 BA B0 BA 11 AB 0B A3 6C F7 E3 6A 21 +AA7C98C6E94AA4062F875AB40BA3CE977D18B89830CCEB30179C5F2788E8941C +5B2D494F1AC8971B5F758D56D72F709E674B92F4B8D5BF9E4BBD48DBEFD11678 +AF3FFC3AB39E07694127DC64DD9BB371461200F4A6ED4622C5BA21F854394BE4 +2D889E3B426032518D20A7B35718FCCDA6769E310021BD41FF87D2A4DC4C1ED8 +7FB119118304533D748BAF06AAF69E838D6B6B20A84B51AEEBE6001FD5307DC8C98B46CF249E3E24FF64A033C470135B +B38B5D82576D4BFB7E5B600711695E409C1E33B539F167BE54572F9721D75566 +CAB78E2DE09DA67C95E0302A9A0010204A715CE61AD0884DEF018A15971D0DA8 +9794862BCFD7F31676245AB8BF369C754CBD6E818E8866CB2C743C3DC7F455BA +77AAE6912434A95B46A6C07B5A59EF287B83CE2620FEECF92CDAE7858F6A8050 +1A55BDD4F0E5F555EA3DF74182CE871343C955FD2349FB37B1B21FAC170511EB +892FAE550B5BF6CE2C6C85B74C8AD45D37E174CFD9EE0767927BCBCC904AA7CB464451E43EF9435E61635DC6EEFAD5E5 +26A7511E2213053BA49868CEE9FB56474CFB5AA422AFBF4C0FB5D5285E6C474DB7EF74A731D259A18AD1EF6EE015A9B2 +F3B14CFE82809DD20A8CE0EF9806CA40E3BA6EF8D62495AF9DEF0F92625F05E7 +BAC0B60E24FE913885FE3FF0A7E9EAB2B224471ABF738507E14060747792783E +070E67988EFF2B31EEE0AD2E8663EE8CEB4DACBB9D8D1159E7C9E84E18F1F7D4 +1755162EEA343C8D9D09852FA5B90E05DDE129145442822F937CE64EA168DE78 +70CF01EB50613461B447C6F54A2E28CAFDD39776B90BD88FDE3A2F5BE8ED5950387819C5F8BCAEEE0DE1A16692F5F07C +8152ECF2A96968C7803803851C70489B19846AB4450B5B5398A86E05D76A5E85 +D9A44B2BC3920622F8ED3EC2A18756612D05C3BF3555F752520AA206128576B3 +AD156C422650D482BFD399926330C849F61C145C6874EAE2826AEDA6BFEFB9892FF615E9CE4005274BF2217733629510 +1735246565057FF7A91DF91CE87A82F1823AC53282377CF188245C4E0A0A12420DFDDA0B70D2498D1C6C5456527FBF66 +E25E66ADCCF628CD21C14D61D47952816EE2265AD7664645A321D45197E1703B +07ACA960A68DAD72B3F7C51AB8573AB0BD08531390226F5404B0098A9FCAC239 +577209D5117506CEF9B6D4EA9F9783CE0EA57415EBBE5318B057D7E0AEFBDFC9 +708B950FCF78EFC2FEE1969A2590EBD8BDF95ACD2B052E96017B39EA667C2AAB +05D7DD808F82F97848B695D5C302FDF20F55D2FD56E386227726691ED581EC9A +08F1AEF4B9F694DF723813613FE0208A4ACF7079773B37CEFCAF7A132EBD4DBA +F607CEBFA3E307F27AC484B9E08FB96A2B678FBA4963AAC479F53D9CAC3530DF +578BBAD7BD2818DC9CC6F711035C267AF005B23A24BA79C66D408474CECEA799 +CA9A8ACCB5BEA6B53C4CE302CC052FC560317410A977425D0E7924AE10D4ED85 +523FE24DD7A7F4E2DF0E09771C863A934662A564152966B67DFECE7D37A53A50 +A606653C13720134F4564DD96FCD1AD44E66D9405BA95CFD0D91FE8828D0B615 +3ED9295F9C5D3C4E949B8E83CF63EBFD0482D224F4015451AD31646FD91F95D2 +7077291A87C15DE4605989467D38283F5416D6AD6D9B2458CE5A75D40A61B3D9 +08A7FECA1D73D605D4E71E69AD2112915A28DBE5A6817C52C2C451A9E1435CF1 +76FBB6AA098D630B5297261090F50011FFEEE6611347A2DF65E0C1C88C4DFFDD879A7C9134D2C51A61C3C7796833ADA6 +2315673B961F8D1C46020AAAB3BC73EE480496F6F5C6B9BF7175DF32A92D1E29 +851620CB407C3CA9A26CF6F6E3350A13FC241A99D7FCAF5EC41A90C40F6518A2 +F97AB6A733F1C288585629CC89A8AFA50B0D7B4CC2E0D41CA0B7118B37EB5170 +E725E6B06E9C8A575609E28DB887508D6CD6623BFD2151BDE0984E1E014A3FAB +138082F590404A5A335601C9872D08F0950EEEB7B28C5D6238F6A4C7FD73CFAC +22687BB4B5044A02C4F86FFA6B8113A3D315325CBAC503498284FA44C3566EE3 +1A5D93DE887B497D3904BD5C29F456EB6D8EA7D6B79962769F1862F21C6CC257 +F3ADA4CA246DC47577A40F7F24213A1E773CE7C9D3F5B0A054EE0807C81CB0B6 +CBA2632796ADB82F57A0B701BF1EF9787C27F4DD14C79D0FD09CD88447A8368B +5CF50ED192649B1F769451EEA7FC9D1F6585990D4D7618FB56A7C41DC3A93904 +62062BFC4F4CA5C7568F042832B27777BDB79522BB7BA3BB4F9644D35416ADC9 +AE7EED026C970F8A8AA2B33C01B7660BFD83B550367CACA4D9B266E2756C3A7E6C3BD0D2EEA3F6ED7C9A4023C575750A +A04D0A134EF9B67BAC02ABDD2E355422C96665D99484DF4E4EFD2CE4AA66F4BB +D7209CB12AFC47261B223C8EC48BDA3131C006FA997396F050FCBEEEFAC7B65A +2E58BF2F918C44F01DD3DFBB49C5FABB33FFFF25B6AC975CA1819A7554093C25 +96C5A04C551604AA8069E213A7FFCE7EA8D8BCF9B61F93BA4E912630AF1BA886 +9219823986AE58A5FD919E809478AF894A73A413F7C12D8B29DF8BD3ADE730652FB7EB3115CF2914F748AE64F996A4B3 From 73b8d496fe5538dc3891505a28d96c638e2a1c09 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:44:36 +0300 Subject: [PATCH 3/3] infrared api for .fap's --- firmware/targets/f7/api_symbols.csv | 41 ++++++++++++++++++++++++++++- lib/infrared/SConscript | 5 ++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/firmware/targets/f7/api_symbols.csv b/firmware/targets/f7/api_symbols.csv index c2a970c6c..a05319b9d 100644 --- a/firmware/targets/f7/api_symbols.csv +++ b/firmware/targets/f7/api_symbols.csv @@ -1,5 +1,5 @@ entry,status,name,type,params -Version,+,8.1,, +Version,+,8.2,, Header,+,applications/services/bt/bt_service/bt.h,, Header,+,applications/services/cli/cli.h,, Header,+,applications/services/cli/cli_vcp.h,, @@ -114,6 +114,9 @@ Header,+,lib/drivers/nrf24.h,, Header,+,lib/flipper_application/flipper_application.h,, Header,+,lib/flipper_format/flipper_format.h,, Header,+,lib/flipper_format/flipper_format_i.h,, +Header,+,lib/infrared/encoder_decoder/infrared.h,, +Header,+,lib/infrared/worker/infrared_transmit.h,, +Header,+,lib/infrared/worker/infrared_worker.h,, Header,+,lib/lfrfid/lfrfid_dict_file.h,, Header,+,lib/lfrfid/lfrfid_raw_file.h,, Header,+,lib/lfrfid/lfrfid_raw_worker.h,, @@ -1552,6 +1555,42 @@ Function,-,ilogbl,int,long double Function,-,index,char*,"const char*, int" Function,-,infinity,double, Function,-,infinityf,float, +Function,+,infrared_alloc_decoder,InfraredDecoderHandler*, +Function,+,infrared_alloc_encoder,InfraredEncoderHandler*, +Function,+,infrared_check_decoder_ready,const InfraredMessage*,InfraredDecoderHandler* +Function,+,infrared_decode,const InfraredMessage*,"InfraredDecoderHandler*, _Bool, uint32_t" +Function,+,infrared_encode,InfraredStatus,"InfraredEncoderHandler*, uint32_t*, _Bool*" +Function,+,infrared_free_decoder,void,InfraredDecoderHandler* +Function,+,infrared_free_encoder,void,InfraredEncoderHandler* +Function,+,infrared_get_protocol_address_length,uint8_t,InfraredProtocol +Function,+,infrared_get_protocol_by_name,InfraredProtocol,const char* +Function,+,infrared_get_protocol_command_length,uint8_t,InfraredProtocol +Function,+,infrared_get_protocol_duty_cycle,float,InfraredProtocol +Function,+,infrared_get_protocol_frequency,uint32_t,InfraredProtocol +Function,+,infrared_get_protocol_name,const char*,InfraredProtocol +Function,+,infrared_is_protocol_valid,_Bool,InfraredProtocol +Function,+,infrared_reset_decoder,void,InfraredDecoderHandler* +Function,+,infrared_reset_encoder,void,"InfraredEncoderHandler*, const InfraredMessage*" +Function,+,infrared_send,void,"const InfraredMessage*, int" +Function,+,infrared_send_raw,void,"const uint32_t[], uint32_t, _Bool" +Function,+,infrared_send_raw_ext,void,"const uint32_t[], uint32_t, _Bool, uint32_t, float" +Function,+,infrared_worker_alloc,InfraredWorker*, +Function,+,infrared_worker_free,void,InfraredWorker* +Function,+,infrared_worker_get_decoded_signal,const InfraredMessage*,const InfraredWorkerSignal* +Function,+,infrared_worker_get_raw_signal,void,"const InfraredWorkerSignal*, const uint32_t**, size_t*" +Function,+,infrared_worker_rx_enable_blink_on_receiving,void,"InfraredWorker*, _Bool" +Function,+,infrared_worker_rx_enable_signal_decoding,void,"InfraredWorker*, _Bool" +Function,+,infrared_worker_rx_set_received_signal_callback,void,"InfraredWorker*, InfraredWorkerReceivedSignalCallback, void*" +Function,+,infrared_worker_rx_start,void,InfraredWorker* +Function,+,infrared_worker_rx_stop,void,InfraredWorker* +Function,+,infrared_worker_set_decoded_signal,void,"InfraredWorker*, const InfraredMessage*" +Function,+,infrared_worker_set_raw_signal,void,"InfraredWorker*, const uint32_t*, size_t" +Function,+,infrared_worker_signal_is_decoded,_Bool,const InfraredWorkerSignal* +Function,+,infrared_worker_tx_get_signal_steady_callback,InfraredWorkerGetSignalResponse,"void*, InfraredWorker*" +Function,+,infrared_worker_tx_set_get_signal_callback,void,"InfraredWorker*, InfraredWorkerGetSignalCallback, void*" +Function,+,infrared_worker_tx_set_signal_sent_callback,void,"InfraredWorker*, InfraredWorkerMessageSentCallback, void*" +Function,+,infrared_worker_tx_start,void,InfraredWorker* +Function,+,infrared_worker_tx_stop,void,InfraredWorker* Function,+,init_mutex,_Bool,"ValueMutex*, void*, size_t" Function,-,initstate,char*,"unsigned, char*, size_t" Function,+,input_get_key_name,const char*,InputKey diff --git a/lib/infrared/SConscript b/lib/infrared/SConscript index 35db75f87..36baca34e 100644 --- a/lib/infrared/SConscript +++ b/lib/infrared/SConscript @@ -5,6 +5,11 @@ env.Append( "#/lib/infrared/encoder_decoder", "#/lib/infrared/worker", ], + SDK_HEADERS=[ + File("#/lib/infrared/worker/infrared_transmit.h"), + File("#/lib/infrared/worker/infrared_worker.h"), + File("#/lib/infrared/encoder_decoder/infrared.h"), + ], )