mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-07-31 23:56:02 +10:00
fix formatting
This commit is contained in:
@@ -557,8 +557,13 @@ Uint8List buildSetChannelFrame(int channelIndex, String name, Uint8List psk) {
|
|||||||
// sf: spreading factor (5-12)
|
// sf: spreading factor (5-12)
|
||||||
// cr: coding rate (5-8)
|
// cr: coding rate (5-8)
|
||||||
// clientRepeat: enable off-grid packet repeat (firmware v9+, omit for older)
|
// clientRepeat: enable off-grid packet repeat (firmware v9+, omit for older)
|
||||||
Uint8List buildSetRadioParamsFrame(int freqHz, int bwHz, int sf, int cr,
|
Uint8List buildSetRadioParamsFrame(
|
||||||
{bool? clientRepeat}) {
|
int freqHz,
|
||||||
|
int bwHz,
|
||||||
|
int sf,
|
||||||
|
int cr, {
|
||||||
|
bool? clientRepeat,
|
||||||
|
}) {
|
||||||
final writer = BufferWriter();
|
final writer = BufferWriter();
|
||||||
writer.writeByte(cmdSetRadioParams);
|
writer.writeByte(cmdSetRadioParams);
|
||||||
writer.writeUInt32LE(freqHz);
|
writer.writeUInt32LE(freqHz);
|
||||||
|
|||||||
+190
-19
@@ -61,26 +61,197 @@ class RadioSettings {
|
|||||||
|
|
||||||
// Regional preset configurations
|
// Regional preset configurations
|
||||||
static final List<(String, RadioSettings)> presets = [
|
static final List<(String, RadioSettings)> presets = [
|
||||||
('Australia', RadioSettings(frequencyMHz: 915.8, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf10, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
(
|
||||||
('Australia (Narrow)', RadioSettings(frequencyMHz: 916.575, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
'Australia',
|
||||||
('Australia SA, WA, QLD', RadioSettings(frequencyMHz: 923.125, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf8, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
RadioSettings(
|
||||||
('Czech Republic', RadioSettings(frequencyMHz: 869.432, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
frequencyMHz: 915.8,
|
||||||
('EU 433MHz', RadioSettings(frequencyMHz: 433.650, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
bandwidth: LoRaBandwidth.bw250,
|
||||||
('EU/UK (Long Range)', RadioSettings(frequencyMHz: 869.525, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
spreadingFactor: LoRaSpreadingFactor.sf10,
|
||||||
('EU/UK (Medium Range)', RadioSettings(frequencyMHz: 869.525, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf10, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
('EU/UK (Narrow)', RadioSettings(frequencyMHz: 869.618, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf8, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
txPowerDbm: 20,
|
||||||
('New Zealand', RadioSettings(frequencyMHz: 917.375, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
),
|
||||||
('New Zealand (Narrow)', RadioSettings(frequencyMHz: 917.375, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
),
|
||||||
('Portugal 433', RadioSettings(frequencyMHz: 433.375, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf9, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
(
|
||||||
('Portugal 869', RadioSettings(frequencyMHz: 869.618, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
'Australia (Narrow)',
|
||||||
('Switzerland', RadioSettings(frequencyMHz: 869.618, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf8, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
RadioSettings(
|
||||||
('USA Arizona', RadioSettings(frequencyMHz: 908.205, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf10, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
frequencyMHz: 916.575,
|
||||||
('USA/Canada', RadioSettings(frequencyMHz: 910.525, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
('Vietnam', RadioSettings(frequencyMHz: 920.250, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
spreadingFactor: LoRaSpreadingFactor.sf7,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'Australia SA, WA, QLD',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 923.125,
|
||||||
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf8,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'Czech Republic',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 869.432,
|
||||||
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf7,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 14,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'EU 433MHz',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 433.650,
|
||||||
|
bandwidth: LoRaBandwidth.bw250,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf11,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'EU/UK (Long Range)',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 869.525,
|
||||||
|
bandwidth: LoRaBandwidth.bw250,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf11,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 14,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'EU/UK (Medium Range)',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 869.525,
|
||||||
|
bandwidth: LoRaBandwidth.bw250,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf10,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 14,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'EU/UK (Narrow)',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 869.618,
|
||||||
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf8,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 14,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'New Zealand',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 917.375,
|
||||||
|
bandwidth: LoRaBandwidth.bw250,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf11,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'New Zealand (Narrow)',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 917.375,
|
||||||
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf7,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'Portugal 433',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 433.375,
|
||||||
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf9,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'Portugal 869',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 869.618,
|
||||||
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf7,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 14,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'Switzerland',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 869.618,
|
||||||
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf8,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 14,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'USA Arizona',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 908.205,
|
||||||
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf10,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'USA/Canada',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 910.525,
|
||||||
|
bandwidth: LoRaBandwidth.bw62_5,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf7,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'Vietnam',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 920.250,
|
||||||
|
bandwidth: LoRaBandwidth.bw250,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf11,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
// Off-grid repeat presets (valid client_repeat frequencies)
|
// Off-grid repeat presets (valid client_repeat frequencies)
|
||||||
('Off-Grid 433', RadioSettings(frequencyMHz: 433.0, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
(
|
||||||
('Off-Grid 869', RadioSettings(frequencyMHz: 869.0, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
'Off-Grid 433',
|
||||||
('Off-Grid 918', RadioSettings(frequencyMHz: 918.0, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
RadioSettings(
|
||||||
|
frequencyMHz: 433.0,
|
||||||
|
bandwidth: LoRaBandwidth.bw250,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf11,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'Off-Grid 869',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 869.0,
|
||||||
|
bandwidth: LoRaBandwidth.bw250,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf11,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 14,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
'Off-Grid 918',
|
||||||
|
RadioSettings(
|
||||||
|
frequencyMHz: 918.0,
|
||||||
|
bandwidth: LoRaBandwidth.bw250,
|
||||||
|
spreadingFactor: LoRaSpreadingFactor.sf11,
|
||||||
|
codingRate: LoRaCodingRate.cr4_5,
|
||||||
|
txPowerDbm: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
int get frequencyHz => (frequencyMHz * 1000).round();
|
int get frequencyHz => (frequencyMHz * 1000).round();
|
||||||
|
|||||||
@@ -963,8 +963,7 @@ class _RadioSettingsDialogState extends State<_RadioSettingsDialog> {
|
|||||||
widget.connector.currentCr,
|
widget.connector.currentCr,
|
||||||
);
|
);
|
||||||
|
|
||||||
final supportsRepeat =
|
final supportsRepeat = (widget.connector.firmwareVerCode ?? 0) >= 9;
|
||||||
(widget.connector.firmwareVerCode ?? 0) >= 9;
|
|
||||||
|
|
||||||
if (supportsRepeat) {
|
if (supportsRepeat) {
|
||||||
const validRepeatFreqsKHz = {433000, 869000, 918000};
|
const validRepeatFreqsKHz = {433000, 869000, 918000};
|
||||||
@@ -978,8 +977,13 @@ class _RadioSettingsDialogState extends State<_RadioSettingsDialog> {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await widget.connector.sendFrame(
|
await widget.connector.sendFrame(
|
||||||
buildSetRadioParamsFrame(freqHz, bwHz, sf, cr,
|
buildSetRadioParamsFrame(
|
||||||
clientRepeat: supportsRepeat ? _clientRepeat : null),
|
freqHz,
|
||||||
|
bwHz,
|
||||||
|
sf,
|
||||||
|
cr,
|
||||||
|
clientRepeat: supportsRepeat ? _clientRepeat : null,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
await widget.connector.sendFrame(buildSetRadioTxPowerFrame(txPower));
|
await widget.connector.sendFrame(buildSetRadioTxPowerFrame(txPower));
|
||||||
await widget.connector.refreshDeviceInfo();
|
await widget.connector.refreshDeviceInfo();
|
||||||
@@ -1131,4 +1135,3 @@ class _RadioSettingsDialogState extends State<_RadioSettingsDialog> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user