2023-09-09 08:03:56 +01:00
|
|
|
/* 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 DCS_H
|
|
|
|
#define DCS_H
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
2023-10-08 17:14:13 +01:00
|
|
|
enum dcs_code_type_e
|
2023-09-10 17:57:12 +01:00
|
|
|
{
|
2023-10-13 07:49:59 +01:00
|
|
|
CODE_TYPE_NONE = 0,
|
2023-09-10 17:57:12 +01:00
|
|
|
CODE_TYPE_CONTINUOUS_TONE,
|
|
|
|
CODE_TYPE_DIGITAL,
|
|
|
|
CODE_TYPE_REVERSE_DIGITAL
|
2023-09-09 08:03:56 +01:00
|
|
|
};
|
|
|
|
|
2023-10-08 17:14:13 +01:00
|
|
|
typedef enum dcs_code_type_e dcs_code_type_t;
|
2023-09-09 08:03:56 +01:00
|
|
|
|
|
|
|
enum {
|
2023-11-24 10:55:47 +00:00
|
|
|
CDCSS_POSITIVE_CODE = 1u,
|
|
|
|
CDCSS_NEGATIVE_CODE = 2u,
|
2023-09-09 08:03:56 +01:00
|
|
|
};
|
|
|
|
|
2023-10-31 22:02:54 +00:00
|
|
|
extern const uint16_t CTCSS_TONE_LIST[50];
|
|
|
|
extern const uint16_t DCS_CODE_LIST[104];
|
2023-09-09 08:03:56 +01:00
|
|
|
|
2023-10-08 17:14:13 +01:00
|
|
|
uint32_t DCS_GetGolayCodeWord(dcs_code_type_t code_type, uint8_t Option);
|
2023-09-09 08:03:56 +01:00
|
|
|
uint8_t DCS_GetCdcssCode(uint32_t Code);
|
2023-10-02 01:19:14 +01:00
|
|
|
uint8_t DCS_GetCtcssCode(int Code);
|
2023-09-09 08:03:56 +01:00
|
|
|
|
|
|
|
#endif
|