mirror of
https://github.com/OneOfEleven/uv-k5-firmware-custom.git
synced 2025-06-19 14:48:03 +03:00
Initial commit
This commit is contained in:
146
audio.h
Normal file
146
audio.h
Normal file
@ -0,0 +1,146 @@
|
||||
/* Copyright 2023 Dual Tachyon
|
||||
* https://github.com/DualTachyon
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef AUDIO_H
|
||||
#define AUDIO_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
enum BEEP_Type_t
|
||||
{
|
||||
BEEP_NONE = 0,
|
||||
BEEP_1KHZ_60MS_OPTIONAL,
|
||||
BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL,
|
||||
BEEP_440HZ_500MS,
|
||||
BEEP_500HZ_60MS_DOUBLE_BEEP
|
||||
};
|
||||
|
||||
typedef enum BEEP_Type_t BEEP_Type_t;
|
||||
|
||||
extern BEEP_Type_t gBeepToPlay;
|
||||
|
||||
void AUDIO_PlayBeep(BEEP_Type_t Beep);
|
||||
|
||||
#ifndef DISABLE_VOICE
|
||||
|
||||
enum
|
||||
{
|
||||
VOICE_ID_CHI_BASE = 0x10U,
|
||||
VOICE_ID_ENG_BASE = 0x60U,
|
||||
};
|
||||
|
||||
enum VOICE_ID_t
|
||||
{
|
||||
VOICE_ID_0 = 0x00U,
|
||||
VOICE_ID_1 = 0x01U,
|
||||
VOICE_ID_2 = 0x02U,
|
||||
VOICE_ID_3 = 0x03U,
|
||||
VOICE_ID_4 = 0x04U,
|
||||
VOICE_ID_5 = 0x05U,
|
||||
VOICE_ID_6 = 0x06U,
|
||||
VOICE_ID_7 = 0x07U,
|
||||
VOICE_ID_8 = 0x08U,
|
||||
VOICE_ID_9 = 0x09U,
|
||||
VOICE_ID_10 = 0x0AU,
|
||||
VOICE_ID_100 = 0x0BU,
|
||||
VOICE_ID_WELCOME = 0x0CU,
|
||||
VOICE_ID_LOCK = 0x0DU,
|
||||
VOICE_ID_UNLOCK = 0x0EU,
|
||||
VOICE_ID_SCANNING_BEGIN = 0x0FU,
|
||||
VOICE_ID_SCANNING_STOP = 0x10U,
|
||||
VOICE_ID_SCRAMBLER_ON = 0x11U,
|
||||
VOICE_ID_SCRAMBLER_OFF = 0x12U,
|
||||
VOICE_ID_FUNCTION = 0x13U,
|
||||
VOICE_ID_CTCSS = 0x14U,
|
||||
VOICE_ID_DCS = 0x15U,
|
||||
VOICE_ID_POWER = 0x16U,
|
||||
VOICE_ID_SAVE_MODE = 0x17U,
|
||||
VOICE_ID_MEMORY_CHANNEL = 0x18U,
|
||||
VOICE_ID_DELETE_CHANNEL = 0x19U,
|
||||
VOICE_ID_FREQUENCY_STEP = 0x1AU,
|
||||
VOICE_ID_SQUELCH = 0x1BU,
|
||||
VOICE_ID_TRANSMIT_OVER_TIME = 0x1CU,
|
||||
VOICE_ID_BACKLIGHT_SELECTION = 0x1DU,
|
||||
VOICE_ID_VOX = 0x1EU,
|
||||
VOICE_ID_FREQUENCY_DIRECTION = 0x1FU,
|
||||
VOICE_ID_OFFSET_FREQUENCY = 0x20U,
|
||||
VOICE_ID_TRANSMITING_MEMORY = 0x21U,
|
||||
VOICE_ID_RECEIVING_MEMORY = 0x22U,
|
||||
VOICE_ID_EMERGENCY_CALL = 0x23U,
|
||||
VOICE_ID_LOW_VOLTAGE = 0x24U,
|
||||
VOICE_ID_CHANNEL_MODE = 0x25U,
|
||||
VOICE_ID_FREQUENCY_MODE = 0x26U,
|
||||
VOICE_ID_VOICE_PROMPT = 0x27U,
|
||||
VOICE_ID_BAND_SELECTION = 0x28U,
|
||||
VOICE_ID_DUAL_STANDBY = 0x29U,
|
||||
VOICE_ID_CHANNEL_BANDWIDTH = 0x2AU,
|
||||
VOICE_ID_OPTIONAL_SIGNAL = 0x2BU,
|
||||
VOICE_ID_MUTE_MODE = 0x2CU,
|
||||
VOICE_ID_BUSY_LOCKOUT = 0x2DU,
|
||||
VOICE_ID_BEEP_PROMPT = 0x2EU,
|
||||
VOICE_ID_ANI_CODE = 0x2FU,
|
||||
VOICE_ID_INITIALISATION = 0x30U,
|
||||
VOICE_ID_CONFIRM = 0x31U,
|
||||
VOICE_ID_CANCEL = 0x32U,
|
||||
VOICE_ID_ON = 0x33U,
|
||||
VOICE_ID_OFF = 0x34U,
|
||||
VOICE_ID_2_TONE = 0x35U,
|
||||
VOICE_ID_5_TONE = 0x36U,
|
||||
VOICE_ID_DIGITAL_SIGNAL = 0x37U,
|
||||
VOICE_ID_REPEATER = 0x38U,
|
||||
VOICE_ID_MENU = 0x39U,
|
||||
VOICE_ID_11 = 0x3AU,
|
||||
VOICE_ID_12 = 0x3BU,
|
||||
VOICE_ID_13 = 0x3CU,
|
||||
VOICE_ID_14 = 0x3DU,
|
||||
VOICE_ID_15 = 0x3EU,
|
||||
VOICE_ID_16 = 0x3FU,
|
||||
VOICE_ID_17 = 0x40U,
|
||||
VOICE_ID_18 = 0x41U,
|
||||
VOICE_ID_19 = 0x42U,
|
||||
VOICE_ID_20 = 0x43U,
|
||||
VOICE_ID_30 = 0x44U,
|
||||
VOICE_ID_40 = 0x45U,
|
||||
VOICE_ID_50 = 0x46U,
|
||||
VOICE_ID_60 = 0x47U,
|
||||
VOICE_ID_70 = 0x48U,
|
||||
VOICE_ID_80 = 0x49U,
|
||||
VOICE_ID_90 = 0x4AU,
|
||||
VOICE_ID_END = 0x4BU,
|
||||
|
||||
VOICE_ID_INVALID = 0xFFU,
|
||||
};
|
||||
|
||||
typedef enum VOICE_ID_t VOICE_ID_t;
|
||||
|
||||
extern VOICE_ID_t gVoiceID[8];
|
||||
extern uint8_t gVoiceReadIndex;
|
||||
extern uint8_t gVoiceWriteIndex;
|
||||
extern volatile uint16_t gCountdownToPlayNextVoice;
|
||||
extern volatile bool gFlagPlayQueuedVoice;
|
||||
extern VOICE_ID_t gAnotherVoiceID;
|
||||
|
||||
void AUDIO_PlayVoice(uint8_t VoiceID);
|
||||
void AUDIO_PlaySingleVoice(bool bFlag);
|
||||
void AUDIO_SetVoiceID(uint8_t Index, VOICE_ID_t VoiceID);
|
||||
uint8_t AUDIO_SetDigitVoice(uint8_t Index, uint16_t Value);
|
||||
void AUDIO_PlayQueuedVoice(void);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user