mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-16 04:24:45 -07:00
Update apps
This commit is contained in:
@@ -4,6 +4,6 @@ App(
|
||||
apptype=FlipperAppType.EXTERNAL,
|
||||
entry_point="air_mouse_app",
|
||||
stack_size=10 * 1024,
|
||||
fap_icon="mouse_10px.png",
|
||||
fap_category="GPIO",
|
||||
fap_icon="mouse_10px.png",
|
||||
)
|
||||
|
||||
@@ -8,8 +8,8 @@ App(
|
||||
stack_size=8 * 1024,
|
||||
order=50,
|
||||
fap_icon="appicon.png",
|
||||
fap_category="Games",
|
||||
fap_icon_assets="assets", # Image assets to compile for this application
|
||||
fap_category="Games",
|
||||
fap_description="An implementation of the classic arcade game Asteroids",
|
||||
fap_author="antirez, SimplyMinimal",
|
||||
fap_weburl="https://github.com/SimplyMinimal/FlipperZero-Asteroids",
|
||||
|
||||
@@ -7,7 +7,7 @@ App(
|
||||
requires=["gui"],
|
||||
stack_size=2 * 1024,
|
||||
fap_icon="bpm_10px.png",
|
||||
fap_icon_assets="icons",
|
||||
fap_category="Music",
|
||||
order=35,
|
||||
fap_icon_assets="icons",
|
||||
order=15,
|
||||
)
|
||||
|
||||
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB |
7
applications/external/nrf24scan/Distr/nrf24scan/addr-CO2mini.txt
vendored
Normal file
7
applications/external/nrf24scan/Distr/nrf24scan/addr-CO2mini.txt
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
Rate: 1
|
||||
Ch: 122
|
||||
ESB: 1
|
||||
DPL: 0
|
||||
CRC: 2
|
||||
Payload: 4
|
||||
P0: C8C8C1
|
||||
7
applications/external/nrf24scan/Distr/nrf24scan/addr-WCO1.txt
vendored
Normal file
7
applications/external/nrf24scan/Distr/nrf24scan/addr-WCO1.txt
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
Rate: 1
|
||||
Ch: 120
|
||||
ESB: 1
|
||||
DPL: 1
|
||||
CRC: 2
|
||||
Payload: 4
|
||||
P0: C8C8E5
|
||||
11
applications/external/nrf24scan/Distr/nrf24scan/addresses.txt
vendored
Normal file
11
applications/external/nrf24scan/Distr/nrf24scan/addresses.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
Rate: 1
|
||||
Ch: 2
|
||||
ESB: 1
|
||||
DPL: 0
|
||||
CRC: 2
|
||||
Payload: 4
|
||||
P0: C8C8C0
|
||||
P1: C8C8C1
|
||||
P2: C2
|
||||
P3: C3
|
||||
P4: E5
|
||||
5
applications/external/nrf24scan/Distr/nrf24scan/sniff.txt
vendored
Normal file
5
applications/external/nrf24scan/Distr/nrf24scan/sniff.txt
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
SNIFF
|
||||
ESB: 1
|
||||
CRC: 2
|
||||
P0: 00AA
|
||||
P1: 0055
|
||||
36
applications/external/nrf24scan/nrf24scan.c
vendored
36
applications/external/nrf24scan/nrf24scan.c
vendored
@@ -532,6 +532,7 @@ static void prepare_nrf24(bool fsend_packet) {
|
||||
nrf24_HANDLE,
|
||||
REG_FEATURE,
|
||||
0); // Enables the W_TX_PAYLOAD_NOACK command, Disable Payload with ACK, set Dynamic Payload
|
||||
// EN_DYN_ACK(0x01) for W_TX_PAYLOAD_NOACK cmd broke AA on some fake nRF24l01+ modules
|
||||
} else if(setup_from_log) { // Scan
|
||||
nrf24_write_reg(
|
||||
nrf24_HANDLE,
|
||||
@@ -544,8 +545,8 @@ static void prepare_nrf24(bool fsend_packet) {
|
||||
nrf24_HANDLE,
|
||||
REG_FEATURE,
|
||||
*(rec + 2 + addr_size) >> 2 != 0x33 ?
|
||||
4 + 1 :
|
||||
1); // Enables the W_TX_PAYLOAD_NOACK command, Disable Payload with ACK, set Dynamic Payload
|
||||
4 :
|
||||
0); // Enables the W_TX_PAYLOAD_NOACK command, Disable Payload with ACK, set Dynamic Payload
|
||||
if(*(rec + 1) & 0b100) { // ESB
|
||||
nrf24_write_reg(nrf24_HANDLE, REG_SETUP_RETR, 0x01); // Automatic Retransmission
|
||||
nrf24_write_reg(nrf24_HANDLE, REG_EN_AA, 0x3F); // Auto acknowledgement
|
||||
@@ -570,8 +571,8 @@ static void prepare_nrf24(bool fsend_packet) {
|
||||
nrf24_HANDLE,
|
||||
REG_FEATURE,
|
||||
NRF_DPL ?
|
||||
4 + 1 :
|
||||
1); // Enables the W_TX_PAYLOAD_NOACK command, Disable Payload with ACK, set Dynamic Payload
|
||||
4 :
|
||||
0); // Enables the W_TX_PAYLOAD_NOACK command, Disable Payload with ACK, set Dynamic Payload
|
||||
nrf24_write_reg(
|
||||
nrf24_HANDLE, REG_DYNPD, NRF_DPL ? 0x3F : 0); // Enable dynamic payload reg
|
||||
nrf24_write_reg(nrf24_HANDLE, REG_RF_CH, NRF_channel);
|
||||
@@ -909,7 +910,7 @@ bool nrf24_send_packet() {
|
||||
nrf24_set_maclen(nrf24_HANDLE, 2);
|
||||
nrf24_set_mac(REG_RX_ADDR_P0, adr, 2);
|
||||
nrf24_set_mac(REG_TX_ADDR, adr, 2);
|
||||
last_packet_send_st = nrf24_txpacket(nrf24_HANDLE, ptr + 2 + 2, 32 - 2, false);
|
||||
last_packet_send_st = nrf24_txpacket(nrf24_HANDLE, ptr + 2 + 2, 32 - 2, true);
|
||||
} else {
|
||||
nrf24_write_reg(
|
||||
nrf24_HANDLE, REG_SETUP_RETR, NRF_ESB ? 0x11 : 0); // Automatic Retransmission
|
||||
@@ -943,7 +944,7 @@ bool nrf24_send_packet() {
|
||||
NRF_CRC == 2 ? 0b1100 :
|
||||
0))); // Mask all interrupts
|
||||
nrf24_write_reg(nrf24_HANDLE, REG_DYNPD, NRF_DPL ? 0x3F : 0); // Enable dynamic payload reg
|
||||
last_packet_send_st = nrf24_txpacket(nrf24_HANDLE, ptr + 2, a, false);
|
||||
last_packet_send_st = nrf24_txpacket(nrf24_HANDLE, ptr + 2, a, true);
|
||||
}
|
||||
last_packet_send = view_log_arr_idx;
|
||||
notification_message(
|
||||
@@ -954,10 +955,9 @@ bool nrf24_send_packet() {
|
||||
}
|
||||
|
||||
static void render_callback(Canvas* const canvas, void* ctx) {
|
||||
furi_assert(ctx);
|
||||
const PluginState* plugin_state = ctx;
|
||||
furi_mutex_acquire(plugin_state->mutex, FuriWaitForever);
|
||||
|
||||
if(plugin_state == NULL) return;
|
||||
if(furi_mutex_acquire(plugin_state->mutex, 25) != FuriStatusOk) return;
|
||||
//canvas_draw_frame(canvas, 0, 0, 128, 64); // border around the edge of the screen
|
||||
if(what_doing == 0) {
|
||||
canvas_set_font(canvas, FontSecondary); // 8x10 font, 6 lines
|
||||
@@ -1334,12 +1334,12 @@ int32_t nrf24scan_app(void* p) {
|
||||
APP = malloc(sizeof(Nrf24Scan));
|
||||
DOLPHIN_DEED(DolphinDeedPluginStart);
|
||||
APP->event_queue = furi_message_queue_alloc(8, sizeof(PluginEvent));
|
||||
APP->plugin_state = malloc(sizeof(PluginState));
|
||||
APP->plugin_state->mutex = furi_mutex_alloc(FuriMutexTypeNormal);
|
||||
if(!APP->plugin_state->mutex) {
|
||||
PluginState* plugin_state = malloc(sizeof(PluginState));
|
||||
plugin_state->mutex = furi_mutex_alloc(FuriMutexTypeNormal);
|
||||
if(!plugin_state->mutex) {
|
||||
furi_message_queue_free(APP->event_queue);
|
||||
FURI_LOG_E(TAG, "cannot create mutex");
|
||||
free(APP->plugin_state);
|
||||
free(plugin_state);
|
||||
return 255;
|
||||
}
|
||||
APP->log_arr = malloc(LOG_REC_SIZE * MAX_LOG_RECORDS);
|
||||
@@ -1365,7 +1365,7 @@ int32_t nrf24scan_app(void* p) {
|
||||
|
||||
// Set system callbacks
|
||||
APP->view_port = view_port_alloc();
|
||||
view_port_draw_callback_set(APP->view_port, render_callback, APP->plugin_state);
|
||||
view_port_draw_callback_set(APP->view_port, render_callback, plugin_state);
|
||||
view_port_input_callback_set(APP->view_port, input_callback, APP->event_queue);
|
||||
|
||||
// Open GUI and register view_port
|
||||
@@ -1406,7 +1406,7 @@ int32_t nrf24scan_app(void* p) {
|
||||
PluginEvent event;
|
||||
for(bool processing = true; processing;) {
|
||||
FuriStatus event_status = furi_message_queue_get(APP->event_queue, &event, 100);
|
||||
furi_mutex_acquire(APP->plugin_state->mutex, FuriWaitForever);
|
||||
furi_mutex_acquire(plugin_state->mutex, FuriWaitForever);
|
||||
|
||||
if(event_status == FuriStatusOk) {
|
||||
// press events
|
||||
@@ -1633,7 +1633,7 @@ int32_t nrf24scan_app(void* p) {
|
||||
}
|
||||
|
||||
view_port_update(APP->view_port);
|
||||
furi_mutex_release(APP->plugin_state->mutex);
|
||||
furi_mutex_release(plugin_state->mutex);
|
||||
}
|
||||
nrf24_set_idle(nrf24_HANDLE);
|
||||
if(log_arr_idx && (log_to_file == 1 || log_to_file == 2)) {
|
||||
@@ -1648,11 +1648,11 @@ int32_t nrf24scan_app(void* p) {
|
||||
furi_record_close(RECORD_NOTIFICATION);
|
||||
furi_record_close(RECORD_STORAGE);
|
||||
view_port_free(APP->view_port);
|
||||
furi_mutex_free(APP->plugin_state->mutex);
|
||||
furi_message_queue_free(APP->event_queue);
|
||||
free(APP->plugin_state);
|
||||
if(APP->log_arr) free(APP->log_arr);
|
||||
if(APP->found) free(APP->found);
|
||||
furi_mutex_free(plugin_state->mutex);
|
||||
free(plugin_state);
|
||||
free(APP);
|
||||
return 0;
|
||||
}
|
||||
|
||||
1
applications/external/nrf24scan/nrf24scan.h
vendored
1
applications/external/nrf24scan/nrf24scan.h
vendored
@@ -31,7 +31,6 @@ struct FOUND {
|
||||
typedef struct {
|
||||
Gui* gui;
|
||||
FuriMessageQueue* event_queue;
|
||||
PluginState* plugin_state;
|
||||
ViewPort* view_port;
|
||||
Storage* storage;
|
||||
NotificationApp* notification;
|
||||
|
||||
21
applications/external/qrcode/LICENSE
vendored
Normal file
21
applications/external/qrcode/LICENSE
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 Bob Matcuk
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,5 +1,3 @@
|
||||
# qv. https://github.com/flipperdevices/flipperzero-firmware/blob/dev/documentation/AppManifests.md
|
||||
|
||||
App(
|
||||
appid="usb_hid_autofire",
|
||||
name="USB HID Autofire",
|
||||
|
||||
Reference in New Issue
Block a user