mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-22 05:14:46 -07:00
Merge branch 'dev' of https://github.com/Dmitry422/unleashed-firmware into dev
This commit is contained in:
@@ -118,9 +118,11 @@ bool subghz_protocol_phoenix_v2_create_data(
|
|||||||
local_data_rev, instance->generic.cnt);
|
local_data_rev, instance->generic.cnt);
|
||||||
|
|
||||||
instance->generic.data = subghz_protocol_blocks_reverse_key(
|
instance->generic.data = subghz_protocol_blocks_reverse_key(
|
||||||
(uint64_t)(((uint64_t)encrypted_counter << 40) | ((uint64_t)instance->generic.btn << 32) |
|
(uint64_t)(((uint64_t)encrypted_counter << 40) |
|
||||||
(uint64_t)instance->generic.serial),
|
((uint64_t)instance->generic.btn << 32) |
|
||||||
instance->generic.data_count_bit + 4);
|
(uint64_t)instance->generic.serial),
|
||||||
|
instance->generic.data_count_bit + 4) &
|
||||||
|
0xFFFFFFFFFFFFF;
|
||||||
|
|
||||||
return SubGhzProtocolStatusOk ==
|
return SubGhzProtocolStatusOk ==
|
||||||
subghz_block_generic_serialize(&instance->generic, flipper_format, preset);
|
subghz_block_generic_serialize(&instance->generic, flipper_format, preset);
|
||||||
|
|||||||
@@ -678,7 +678,7 @@ static inline uint32_t furi_hal_subghz_async_tx_middleware_get_duration(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// here we fill DMA buffer by signal durations until we recieve duration=0 (that mean protocol give as full data = signal_size*repeats)
|
// here we fill DMA buffer by signal durations until we recieve duration=0 (that mean protocol give as full data = signal_size*repeats)
|
||||||
// or until we reach the end of required samples count
|
// or until we reach the end of required samples count
|
||||||
static void furi_hal_subghz_async_tx_refill(uint32_t* buffer, size_t samples) {
|
static void furi_hal_subghz_async_tx_refill(uint32_t* buffer, size_t samples) {
|
||||||
furi_check(furi_hal_subghz.state == SubGhzStateAsyncTx);
|
furi_check(furi_hal_subghz.state == SubGhzStateAsyncTx);
|
||||||
// furi_hal_subghz_async_tx.callback - linked to protocols "_yield" function
|
// furi_hal_subghz_async_tx.callback - linked to protocols "_yield" function
|
||||||
@@ -773,7 +773,7 @@ bool furi_hal_subghz_start_async_tx(FuriHalSubGhzAsyncTxCallback callback, void*
|
|||||||
|
|
||||||
// Configure DMA to update TIM2->ARR
|
// Configure DMA to update TIM2->ARR
|
||||||
LL_DMA_InitTypeDef dma_config = {0}; // DMA settings structure
|
LL_DMA_InitTypeDef dma_config = {0}; // DMA settings structure
|
||||||
dma_config.PeriphOrM2MSrcAddress = (uint32_t)&(TIM2->ARR); // DMA destination TIM2->ARR
|
dma_config.PeriphOrM2MSrcAddress = (uint32_t) & (TIM2->ARR); // DMA destination TIM2->ARR
|
||||||
dma_config.MemoryOrM2MDstAddress =
|
dma_config.MemoryOrM2MDstAddress =
|
||||||
(uint32_t)furi_hal_subghz_async_tx.buffer; // DMA buffer with signals durations
|
(uint32_t)furi_hal_subghz_async_tx.buffer; // DMA buffer with signals durations
|
||||||
dma_config.Direction =
|
dma_config.Direction =
|
||||||
@@ -840,7 +840,7 @@ bool furi_hal_subghz_start_async_tx(FuriHalSubGhzAsyncTxCallback callback, void*
|
|||||||
furi_hal_subghz_debug_gpio_buff[1] = (uint32_t)gpio->pin << GPIO_NUMBER;
|
furi_hal_subghz_debug_gpio_buff[1] = (uint32_t)gpio->pin << GPIO_NUMBER;
|
||||||
|
|
||||||
dma_config.MemoryOrM2MDstAddress = (uint32_t)furi_hal_subghz_debug_gpio_buff;
|
dma_config.MemoryOrM2MDstAddress = (uint32_t)furi_hal_subghz_debug_gpio_buff;
|
||||||
dma_config.PeriphOrM2MSrcAddress = (uint32_t)&(gpio->port->BSRR);
|
dma_config.PeriphOrM2MSrcAddress = (uint32_t) & (gpio->port->BSRR);
|
||||||
dma_config.Direction = LL_DMA_DIRECTION_MEMORY_TO_PERIPH;
|
dma_config.Direction = LL_DMA_DIRECTION_MEMORY_TO_PERIPH;
|
||||||
dma_config.Mode = LL_DMA_MODE_CIRCULAR;
|
dma_config.Mode = LL_DMA_MODE_CIRCULAR;
|
||||||
dma_config.PeriphOrM2MSrcIncMode = LL_DMA_PERIPH_NOINCREMENT;
|
dma_config.PeriphOrM2MSrcIncMode = LL_DMA_PERIPH_NOINCREMENT;
|
||||||
|
|||||||
Reference in New Issue
Block a user