feat: add Set B profiles and low-latency native haptics
Add schema-6 profiles, atomic catalog migration, shortcuts, Shift, configurable Turbo/Burst, macro recording and playback. Promote qualified 300 MHz native DualSense transport to AIO/XInput defaults with bounded bus transactions, credit batching and generation-safe persistent rumble.
This commit is contained in:
parent
44a474e103
commit
3c2d9fa723
75 changed files with 9599 additions and 1819 deletions
|
|
@ -0,0 +1,37 @@
|
|||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/* Subset of the Pico SDK's exposed shared-bus ABI used by this transport. */
|
||||
#define BTSDIO_FWBUF_SIZE 0x1000
|
||||
|
||||
typedef enum {
|
||||
CYBT_SUCCESS = 0,
|
||||
CYBT_ERR_BADARG = 0xB1,
|
||||
CYBT_ERR_TIMEOUT = 0xB3,
|
||||
CYBT_ERR_HCI_READ_FAILED = 0xB9,
|
||||
} cybt_result_t;
|
||||
|
||||
typedef enum {
|
||||
H2B_BUF_ADDR_IDX = 0x10,
|
||||
H2B_BUF_IN_ADDR_IDX,
|
||||
H2B_BUF_OUT_ADDR_IDX,
|
||||
B2H_BUF_ADDR_IDX,
|
||||
B2H_BUF_IN_ADDR_IDX,
|
||||
B2H_BUF_OUT_ADDR_IDX,
|
||||
} cybt_addr_idx_t;
|
||||
|
||||
typedef struct {
|
||||
uint32_t host2bt_in_val;
|
||||
uint32_t host2bt_out_val;
|
||||
uint32_t bt2host_in_val;
|
||||
uint32_t bt2host_out_val;
|
||||
} cybt_fw_membuf_index_t;
|
||||
|
||||
cybt_result_t cybt_set_bt_awake(int value);
|
||||
int cybt_awake(void);
|
||||
cybt_result_t cybt_get_bt_buf_index(cybt_fw_membuf_index_t *indices);
|
||||
cybt_result_t cybt_mem_read_idx(cybt_addr_idx_t index, uint32_t offset,
|
||||
uint8_t *buffer, uint32_t length);
|
||||
cybt_result_t cybt_reg_write_idx(cybt_addr_idx_t index, uint32_t value);
|
||||
cybt_result_t cybt_toggle_bt_intr(void);
|
||||
10
tests/cyw43_packet_transport_native_stubs/cyw43_btbus.h
Normal file
10
tests/cyw43_packet_transport_native_stubs/cyw43_btbus.h
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct _cyw43_ll_t {
|
||||
int unused;
|
||||
} cyw43_ll_t;
|
||||
|
||||
int cyw43_btbus_init(cyw43_ll_t *self);
|
||||
int cyw43_btbus_read(uint8_t *buffer, uint32_t capacity, uint32_t *size);
|
||||
11
tests/cyw43_packet_transport_native_stubs/cyw43_config.h
Normal file
11
tests/cyw43_packet_transport_native_stubs/cyw43_config.h
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
void cyw43_thread_enter(void);
|
||||
void cyw43_thread_exit(void);
|
||||
void cyw43_delay_ms(uint32_t milliseconds);
|
||||
_Noreturn void panic(const char *message, ...);
|
||||
|
||||
#define CYW43_THREAD_ENTER cyw43_thread_enter();
|
||||
#define CYW43_THREAD_EXIT cyw43_thread_exit();
|
||||
8
tests/cyw43_packet_transport_native_stubs/sdk.c
Normal file
8
tests/cyw43_packet_transport_native_stubs/sdk.c
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#include "cyw43_btbus.h"
|
||||
|
||||
int test_cyw43_btbus_init(cyw43_ll_t *self);
|
||||
|
||||
/* Separate translation unit: GNU --wrap only redirects unresolved references. */
|
||||
int cyw43_btbus_init(cyw43_ll_t *self) {
|
||||
return test_cyw43_btbus_init(self);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue