mirror of
https://github.com/pelgraine/Meck.git
synced 2026-07-03 00:01:21 +02:00
0d2f27e615
target.h — declares meck_audio_route_amp() and meck_audio_codec_init() in the bridge (54-55), guarded by HAS_ES8311_AUDIO, ready for the alarm/voice paths to reuse later. target.cpp — includes ES8311.h (6) and defines both helpers where board and the codec driver are visible: route+amp (100-102), and the once-only es8311_init_44100_16bit() (108-110). Audiobookplayerscreen.h — forward-declares both (54-55); ensureI2SInit() now does route+amp and the 5-arg setPinout with MCLK on MAX (268-270); and meck_audio_codec_init() runs right after connecttoFS (1142). The Pro path is untouched.
56 lines
1.6 KiB
C
56 lines
1.6 KiB
C
#pragma once
|
|
|
|
// Include variant.h first to ensure all board-specific defines are available
|
|
#include "variant.h"
|
|
|
|
#define RADIOLIB_STATIC_ONLY 1
|
|
#include <RadioLib.h>
|
|
#include <helpers/radiolib/RadioLibWrappers.h>
|
|
#include <helpers/radiolib/CustomSX1262Wrapper.h>
|
|
#include <TDeckProMaxBoard.h>
|
|
#include <helpers/AutoDiscoverRTCClock.h>
|
|
|
|
#ifdef DISPLAY_CLASS
|
|
#include <helpers/ui/GxEPDDisplay.h>
|
|
#include <helpers/ui/MomentaryButton.h>
|
|
#endif
|
|
|
|
#if HAS_GPS
|
|
#include "helpers/sensors/EnvironmentSensorManager.h"
|
|
#include "helpers/sensors/MicroNMEALocationProvider.h"
|
|
#include "GPSStreamCounter.h"
|
|
#else
|
|
#include <helpers/SensorManager.h>
|
|
#endif
|
|
|
|
extern TDeckProMaxBoard board;
|
|
extern WRAPPER_CLASS radio_driver;
|
|
extern AutoDiscoverRTCClock rtc_clock;
|
|
|
|
#if HAS_GPS
|
|
extern GPSStreamCounter gpsStream;
|
|
extern EnvironmentSensorManager sensors;
|
|
#else
|
|
extern SensorManager sensors;
|
|
#endif
|
|
|
|
#ifdef DISPLAY_CLASS
|
|
extern DISPLAY_CLASS display;
|
|
extern MomentaryButton user_btn;
|
|
#endif
|
|
|
|
bool radio_init();
|
|
uint32_t radio_get_rng_seed();
|
|
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
|
|
void radio_set_tx_power(uint8_t dbm);
|
|
mesh::LocalIdentity radio_new_identity();
|
|
void radio_reset_agc();
|
|
|
|
#ifdef HAS_ES8311_AUDIO
|
|
// Audio hardware bring-up (MAX/ES8311), shared across playback paths.
|
|
// route_amp: select ES8311 output + enable the speaker amp (safe any time).
|
|
// codec_init: one-time ES8311 register init; call AFTER the I2S clocks are
|
|
// running (i.e. after connecttoFS), since the codec locks to MCLK/BCLK.
|
|
void meck_audio_route_amp();
|
|
void meck_audio_codec_init();
|
|
#endif |