mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-26 22:40:25 +00:00
subghz frequency range updates
This commit is contained in:
parent
bdd2dc288a
commit
53e60cc8e8
7 changed files with 60 additions and 58 deletions
12
.drone.yml
12
.drone.yml
|
@ -17,7 +17,7 @@ steps:
|
|||
commands:
|
||||
- export DIST_SUFFIX=${DRONE_TAG}
|
||||
- export WORKFLOW_BRANCH_OR_TAG=dev-cfw
|
||||
- ./fbt --with-updater COMPACT=1 DEBUG=0 updater_package
|
||||
- ./fbt COMPACT=1 DEBUG=0 updater_package
|
||||
- mkdir artifacts-default
|
||||
- mv dist/f7-C/* artifacts-default/
|
||||
- ls -laS artifacts-default
|
||||
|
@ -105,7 +105,10 @@ steps:
|
|||
Version: {{build.tag}}
|
||||
|
||||
|
||||
[-Github-](https://github.com/Eng1n33r/flipperzero-firmware/releases/tag/${DRONE_TAG})"
|
||||
[-Github-](https://github.com/Eng1n33r/flipperzero-firmware/releases/tag/${DRONE_TAG})
|
||||
|
||||
|
||||
[-Install via Web Updater-](https://my.flipp.dev/?url=https://unleashedflip.com/builds/flipper-z-f7-update-${DRONE_TAG}.tgz&channel=dev-cfw&version=${DRONE_TAG})"
|
||||
document:
|
||||
- artifacts-default/flipper-z-f7-full-${DRONE_TAG}.dfu
|
||||
- artifacts-default/flipper-z-f7-update-${DRONE_TAG}.zip
|
||||
|
@ -124,7 +127,10 @@ steps:
|
|||
Version: {{build.tag}}
|
||||
|
||||
|
||||
[[Github]](https://github.com/Eng1n33r/flipperzero-firmware/releases/latest)"
|
||||
[[Github]](https://github.com/Eng1n33r/flipperzero-firmware/releases/tag/${DRONE_TAG})
|
||||
|
||||
|
||||
[-Install via Web Updater-](https://my.flipp.dev/?url=https://unleashedflip.com/builds/flipper-z-f7-update-${DRONE_TAG}.tgz&channel=dev-cfw&version=${DRONE_TAG})"
|
||||
|
||||
trigger:
|
||||
event:
|
||||
|
|
16
ReadMe.md
16
ReadMe.md
|
@ -5,16 +5,14 @@
|
|||
Welcome to Flipper Zero's Custom Firmware repo!
|
||||
Our goal is to make any features possible in this device without any limitations!
|
||||
|
||||
Please help us implement emulation for all dynamic (rolling codes) protocols and brute-force app!
|
||||
<br>
|
||||
Please help us implement emulation for all subghz dynamic (rolling code) protocols and static code brute-force app!
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
### This software is for experimental purposes only and is not meant for any illegal activity/purposes. <br> We do not condone illegal activity and strongly encourage keeping transmissions to legal/valid uses allowed by law. <br> Also this software is made without any support from Flipper Devices and in no way related to official devs.
|
||||
### Please use for experimental purposes only!
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
Our Discord Community:
|
||||
<br>
|
||||
|
@ -41,14 +39,14 @@ See changelog in releases for latest updates!
|
|||
- HCS101
|
||||
- An-Motors
|
||||
- CAME Atomo
|
||||
- FAAC SLH (Spa)
|
||||
- BFT Mitto
|
||||
- FAAC SLH (Spa) [if cloning existing remote - external seed calculation required]
|
||||
- BFT Mitto [if cloning existing remote - external seed calculation required]
|
||||
- Keeloq (+ proper manufacturer codes selection) [Not ALL systems supported yet!]
|
||||
- Nice Flor S
|
||||
- SecPlus v1 & v2
|
||||
- Security+ v1 & v2
|
||||
- Star Line
|
||||
|
||||
### Apps included:
|
||||
### Community apps included:
|
||||
|
||||
- UPC-A Barcode generator plugin [(By McAzzaMan)](https://github.com/McAzzaMan/flipperzero-firmware/tree/UPC-A_Barcode_Generator/applications/barcode_generator)
|
||||
- GPIO: Sentry Safe plugin [(By H4ckd4ddy)](https://github.com/H4ckd4ddy/flipperzero-sentry-safe-plugin)
|
||||
|
@ -93,7 +91,7 @@ See changelog in releases for latest updates!
|
|||
|
||||
**SubGHz**
|
||||
|
||||
## [- How to extend SubGHz frequency range](https://github.com/Eng1n33r/flipperzero-firmware/blob/dev/documentation/DangerousSettings.md)
|
||||
## [- Transmission is blocked? - How to extend SubGHz frequency range](https://github.com/Eng1n33r/flipperzero-firmware/blob/dev/documentation/DangerousSettings.md)
|
||||
|
||||
## [- How to add extra SubGHz frequencies](https://github.com/Eng1n33r/flipperzero-firmware/blob/dev/documentation/SubGHzSettings.md)
|
||||
|
||||
|
|
|
@ -13,12 +13,7 @@ void subghz_scene_show_only_rx_on_enter(void* context) {
|
|||
Popup* popup = subghz->popup;
|
||||
popup_set_icon(popup, 67, 12, &I_DolphinFirstStart7_61x51);
|
||||
popup_set_text(
|
||||
popup,
|
||||
"This frequency can\nonly be used for RX\nin your region",
|
||||
38,
|
||||
40,
|
||||
AlignCenter,
|
||||
AlignBottom);
|
||||
popup, "This frequency is\noutside of default\nrange", 38, 40, AlignCenter, AlignBottom);
|
||||
popup_set_timeout(popup, 1500);
|
||||
popup_set_context(popup, subghz);
|
||||
popup_set_callback(popup, subghz_scene_show_only_rx_popup_callback);
|
||||
|
|
|
@ -54,7 +54,7 @@ void subghz_cli_command_tx_carrier(Cli* cli, string_t args, void* context) {
|
|||
furi_delay_ms(250);
|
||||
}
|
||||
} else {
|
||||
printf("This frequency can only be used for RX in your region\r\n");
|
||||
printf("This frequency can only be used for RX in your settings\r\n");
|
||||
}
|
||||
|
||||
furi_hal_subghz_set_path(FuriHalSubGhzPathIsolate);
|
||||
|
@ -535,7 +535,7 @@ static void subghz_cli_command_chat(Cli* cli, string_t args) {
|
|||
}
|
||||
if(!furi_hal_subghz_is_tx_allowed(frequency)) {
|
||||
printf(
|
||||
"In your region, only reception on this frequency (%lu) is allowed,\r\n"
|
||||
"In your settings, only reception on this frequency (%lu) is allowed,\r\n"
|
||||
"the actual operation of the application is not possible\r\n ",
|
||||
frequency);
|
||||
return;
|
||||
|
|
|
@ -223,7 +223,7 @@ void subghz_dialog_message_show_only_rx(SubGhz* subghz) {
|
|||
|
||||
dialog_message_set_text(
|
||||
message,
|
||||
"This frequency\nis restricted to\nreceiving only\nin your region.",
|
||||
"Frequency\nis outside of\ndefault range.\nCheck docs.",
|
||||
3,
|
||||
17,
|
||||
AlignLeft,
|
||||
|
@ -279,7 +279,7 @@ bool subghz_key_load(SubGhz* subghz, const char* file_path, bool show_dialog) {
|
|||
}
|
||||
|
||||
if(!furi_hal_subghz_is_tx_allowed(temp_data32)) {
|
||||
FURI_LOG_E(TAG, "This frequency can only be used for RX in your region");
|
||||
FURI_LOG_E(TAG, "This frequency can only be used for RX");
|
||||
load_key_state = SubGhzLoadKeyStateOnlyRx;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -476,7 +476,13 @@ static void unirfremix_send_signal(
|
|||
for(int x = 1; x <= app->repeat; x++) {
|
||||
frequency = frequency ? frequency : 433920000;
|
||||
FURI_LOG_E(TAG, "file to send: %s", string_get_cstr(signal));
|
||||
|
||||
if(!furi_hal_subghz_is_tx_allowed(frequency)) {
|
||||
printf(
|
||||
"In your settings, only reception on this frequency (%lu) is allowed,\r\n"
|
||||
"the actual operation of the unirf app is not possible\r\n ",
|
||||
frequency);
|
||||
break;
|
||||
}
|
||||
string_t flipper_format_string;
|
||||
|
||||
if(strcmp(string_get_cstr(protocol), "RAW") == 0) {
|
||||
|
@ -498,21 +504,17 @@ static void unirfremix_send_signal(
|
|||
subghz_transmitter_deserialize(transmitter, flipper_format);
|
||||
|
||||
furi_hal_subghz_reset();
|
||||
furi_hal_subghz_load_preset(FuriHalSubGhzPresetOok270Async);
|
||||
furi_hal_subghz_load_preset(FuriHalSubGhzPresetOok650Async);
|
||||
furi_hal_subghz_set_frequency_and_path(frequency);
|
||||
|
||||
furi_hal_subghz_reset();
|
||||
furi_hal_subghz_load_preset(FuriHalSubGhzPresetOok270Async);
|
||||
furi_hal_subghz_set_frequency_and_path(frequency);
|
||||
|
||||
printf("Transmitting at %lu, repeat %d.\r\n", frequency, x);
|
||||
//printf("Transmitting at %lu, repeat %d.\r\n", frequency, x);
|
||||
|
||||
furi_hal_power_suppress_charge_enter();
|
||||
furi_hal_subghz_start_async_tx(subghz_transmitter_yield, transmitter);
|
||||
|
||||
while(!(furi_hal_subghz_is_async_tx_complete())) {
|
||||
notification_message(notification, &sequence_blink_magenta_10);
|
||||
printf("Sending...");
|
||||
//printf("Sending...");
|
||||
fflush(stdout);
|
||||
furi_delay_ms(333);
|
||||
}
|
||||
|
|
|
@ -287,13 +287,39 @@ uint8_t furi_hal_subghz_get_lqi() {
|
|||
}
|
||||
|
||||
/*
|
||||
Modified by @tkerby to the full YARD Stick One extended range of 281-361 MHz, 378-481 MHz, and 749-962 MHz.
|
||||
Modified by @tkerby & MX to the full YARD Stick One extended range of 281-361 MHz, 378-481 MHz, and 749-962 MHz.
|
||||
These changes are at your own risk. The PLL may not lock and FZ devs have warned of possible damage!
|
||||
*/
|
||||
|
||||
bool furi_hal_subghz_is_frequency_valid(uint32_t value) {
|
||||
if(!(value >= 281000000 && value <= 361000000) &&
|
||||
!(value >= 378000000 && value <= 481000000) &&
|
||||
!(value >= 749000000 && value <= 962000000)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32_t furi_hal_subghz_set_frequency_and_path(uint32_t value) {
|
||||
// Set these values to the extended frequency range only. They dont define if you can transmit but do select the correct RF path
|
||||
value = furi_hal_subghz_set_frequency(value);
|
||||
if(value >= 281000000 && value <= 361000000) {
|
||||
furi_hal_subghz_set_path(FuriHalSubGhzPath315);
|
||||
} else if(value >= 378000000 && value <= 481000000) {
|
||||
furi_hal_subghz_set_path(FuriHalSubGhzPath433);
|
||||
} else if(value >= 749000000 && value <= 962000000) {
|
||||
furi_hal_subghz_set_path(FuriHalSubGhzPath868);
|
||||
} else {
|
||||
furi_crash("SubGhz: Incorrect frequency during set.");
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
bool furi_hal_subghz_is_tx_allowed(uint32_t value) {
|
||||
bool is_extended = false;
|
||||
|
||||
// TODO: Move file check to another place
|
||||
// TODO: !!! Move file check to another place
|
||||
Storage* storage = furi_record_open("storage");
|
||||
FlipperFormat* fff_data_file = flipper_format_file_alloc(storage);
|
||||
|
||||
|
@ -321,33 +347,8 @@ bool furi_hal_subghz_is_frequency_valid(uint32_t value) {
|
|||
return true;
|
||||
}
|
||||
|
||||
uint32_t furi_hal_subghz_set_frequency_and_path(uint32_t value) {
|
||||
// Set these values to the extended frequency range only. They dont define if you can transmit but do select the correct RF path
|
||||
value = furi_hal_subghz_set_frequency(value);
|
||||
if(value >= 281000000 && value <= 361000000) {
|
||||
furi_hal_subghz_set_path(FuriHalSubGhzPath315);
|
||||
} else if(value >= 378000000 && value <= 481000000) {
|
||||
furi_hal_subghz_set_path(FuriHalSubGhzPath433);
|
||||
} else if(value >= 749000000 && value <= 962000000) {
|
||||
furi_hal_subghz_set_path(FuriHalSubGhzPath868);
|
||||
} else {
|
||||
furi_crash("SubGhz: Incorrect frequency during set.");
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
bool furi_hal_subghz_is_tx_allowed(uint32_t value) {
|
||||
UNUSED(value);
|
||||
// Removed region check
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32_t furi_hal_subghz_set_frequency(uint32_t value) {
|
||||
if(furi_hal_subghz_is_tx_allowed(value)) {
|
||||
furi_hal_subghz.regulation = SubGhzRegulationTxRx;
|
||||
} else {
|
||||
furi_hal_subghz.regulation = SubGhzRegulationOnlyRx;
|
||||
}
|
||||
furi_hal_subghz.regulation = SubGhzRegulationTxRx;
|
||||
|
||||
furi_hal_spi_acquire(&furi_hal_spi_bus_handle_subghz);
|
||||
uint32_t real_frequency = cc1101_set_frequency(&furi_hal_spi_bus_handle_subghz, value);
|
||||
|
|
Loading…
Reference in a new issue