FSK support for set hardware

master
sh123 2023-11-16 20:32:19 +02:00
rodzic 64e6b7f265
commit 3a4438e80c
3 zmienionych plików z 26 dodań i 6 usunięć

Wyświetl plik

@ -10,8 +10,8 @@ android {
applicationId "com.radio.codec2talkie"
minSdkVersion 23
targetSdkVersion 30
versionCode 164
versionName "1.64"
versionCode 165
versionName "1.65"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

Wyświetl plik

@ -155,33 +155,48 @@ public class Kiss implements Protocol {
private void initializeExtended() throws IOException {
/*
struct LoraControlCommand {
uint32_t freq;
struct SetHardware {
uint32_t freqRx;
uint32_t freqTx;
uint8_t modType;
uint16_t pwr;
uint32_t bw;
uint16_t sf;
uint16_t cr;
uint16_t pwr;
uint16_t sync;
uint8_t crc;
} __attribute__((packed));
uint32_t fskBitRate;
uint32_t fskFreqDev;
uint32_t fskRxBw;
} __attribute__((packed));
*/
String freq = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_FREQUENCY, "433775000");
String freqTx = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_FREQUENCY_TX, "433775000");
String modType = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_MOD, "0");
String bw = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_BANDWIDTH, "125000");
String sf = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_SF, "7");
String cr = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_CR, "6");
String pwr = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_POWER, "20");
String sync = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_SYNC, "34");
byte crc = (byte)(_sharedPreferences.getBoolean(PreferenceKeys.KISS_EXTENSIONS_RADIO_CRC, true) ? 1 : 0);
String fskBitRate = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_FSK_BIT_RATE, "4800");
String fskFreqDev = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_FSK_FREQ_DEV, "1200");
String fskRxBw = _sharedPreferences.getString(PreferenceKeys.KISS_EXTENSIONS_RADIO_FSK_FREQ_DEV, "9700");
ByteBuffer rawBuffer = ByteBuffer.allocate(KISS_RADIO_CONTROL_COMMAND_SIZE);
rawBuffer.putInt(Integer.parseInt(freq))
.putInt(Integer.parseInt(freqTx))
.put(Byte.parseByte(modType))
.putInt(Integer.parseInt(bw))
.putShort(Short.parseShort(sf))
.putShort(Short.parseShort(cr))
.putShort(Short.parseShort(pwr))
.putShort(Short.parseShort(sync, 16))
.put(crc)
.putInt(Integer.parseInt(fskBitRate))
.putInt(Integer.parseInt(fskFreqDev))
.putInt(Integer.parseInt(fskRxBw))
.rewind();
startKissPacket(KISS_CMD_SET_HARDWARE);

Wyświetl plik

@ -47,13 +47,18 @@ public final class PreferenceKeys {
public static String KISS_SCRAMBLER_ITERATIONS = "kiss_scrambler_iterations";
public static String KISS_EXTENSIONS_ENABLED = "kiss_extensions_enable";
public static String KISS_EXTENSIONS_RADIO_MOD = "kiss_extension_radio_mod";
public static String KISS_EXTENSIONS_RADIO_FREQUENCY = "kiss_extension_radio_frequency";
public static String KISS_EXTENSIONS_RADIO_FREQUENCY_TX = "kiss_extension_radio_frequency_tx";
public static String KISS_EXTENSIONS_RADIO_BANDWIDTH = "kiss_extension_radio_bandwidth";
public static String KISS_EXTENSIONS_RADIO_POWER = "kiss_extension_radio_power";
public static String KISS_EXTENSIONS_RADIO_SF = "kiss_extension_radio_sf";
public static String KISS_EXTENSIONS_RADIO_CR = "kiss_extension_radio_cr";
public static String KISS_EXTENSIONS_RADIO_SYNC = "kiss_extension_radio_sync";
public static String KISS_EXTENSIONS_RADIO_CRC = "kiss_extension_radio_crc";
public static String KISS_EXTENSIONS_RADIO_FSK_BIT_RATE = "kiss_extension_radio_fsk_bit_rate";
public static String KISS_EXTENSIONS_RADIO_FSK_FREQ_DEV = "kiss_extension_radio_fsk_freq_dev";
public static String KISS_EXTENSIONS_RADIO_FSK_RX_BW = "kiss_extension_radio_fsk_rx_bw";
public static String KISS_EXTENSIONS_ACTION_REBOOT_REQUESTED = "com.radio.codec2talkie.MODEM_REBOOT";