kopia lustrzana https://github.com/HarrydeBug/1011-WSPR-TX_LP1
Porównaj commity
16 Commity
3acf22d053
...
5bf4a85472
Autor | SHA1 | Data |
---|---|---|
Harry | 5bf4a85472 | |
Harry | c1acb19444 | |
Harry | 147f97f8c1 | |
Harry | 881a6a43e7 | |
Harry | ed9dee90c4 | |
Harry | de459fb869 | |
Harry | ef767985ae | |
Harry | 989fabdae3 | |
Harry | 96ffa1871c | |
Harry | 2b1ea779d7 | |
Harry | 7fa798992b | |
Harry | 83ed4fead3 | |
Harry | 9c22f6596d | |
Harry | 20080f964e | |
Harry | a77e7e9e4b | |
Harry | eb2233cf43 |
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik binarny nie jest wyświetlany.
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
|
@ -7,7 +7,7 @@
|
|||
--------------------------
|
||||
pin 2 and 3 is Sofware serial port to GPS module
|
||||
pin 4 is Status LED, except on Mini and Pico models- they use pin A2. This Led is Used as StatusIndicator to display what state the software is currently in, Yellow LED on all models except Pico that has a white LED
|
||||
pin 5,6 and 7 are Relay controll pins on the Desktop and LP1 products
|
||||
pin 5,6 and 7 are Relay control pins on the Desktop and LP1 products
|
||||
pin 8 is Red TX LED next to RF out SMA connector on the Desktop and LP1 products. Used as Indicator to display when there is RF out.
|
||||
pin A1 Hardware Sleep signal of the GPS on the WSPR-TX Pico, The Mini is using Serial command to put GPS to sleep.
|
||||
pin A3 Power-down the Si5351 from this pin on the WSPR-TX Mini
|
||||
|
@ -69,8 +69,8 @@
|
|||
0.95 WSPR Mini re-added after it had been removed by accident in an earlier version
|
||||
0.96 Added support for Type 3 messages for increased position precision, changed altitude calculation for the Pico, if Type 3 messsage is sent then its pwr field corresponds to 20m per dB
|
||||
Added autodetection of Si5351 I2C address, 96 or 98.
|
||||
0.97 Changed how the [OBD] was Set/Get to avoid feedback llop in the PC GUI that would Set and then Clear a value repeatedly
|
||||
1.00 Fixed a bug that cased Tpe 3 transmission even if was not configered to do that.
|
||||
0.97 Changed how the [OBD] was Set/Get to avoid feedback loop in the PC GUI that would Set and then Clear a value repeatedly
|
||||
1.00 Fixed a bug that cased Type 3 transmission even if was not configered.
|
||||
|
||||
To compile :
|
||||
1 set board to "Arduino Pro or Pro Mini", set processor to ATMega328P(3.3V, 8MHZ)
|
||||
|
@ -350,13 +350,14 @@ void setup()
|
|||
FactoryData.LP_B_BandNum = 3; //Low Pass filter B is 80m
|
||||
FactoryData.LP_C_BandNum = 4; //Low Pass filter C is 40m
|
||||
FactoryData.LP_D_BandNum = 6; //Low Pass filter D is 20m
|
||||
|
||||
/*
|
||||
//HighPlus
|
||||
FactoryData.LP_A_BandNum = 7; //Low Pass filter A is 17m
|
||||
FactoryData.LP_B_BandNum = 10; //Low Pass filter B is 10m (+ 15 and 12m)
|
||||
FactoryData.LP_C_BandNum = 11; //Low Pass filter C is 6m
|
||||
FactoryData.LP_D_BandNum = 99; //Low Pass filter D is open circuit
|
||||
|
||||
*/
|
||||
}
|
||||
if (Product_Model == 1029) //LP1 Model with Mezzanine BLP4 addon, set default LP as a MidPlus version
|
||||
{
|
||||
|
@ -1229,7 +1230,7 @@ void DoWSPR ()
|
|||
{
|
||||
AltitudeInMeter = fix.altitude ();
|
||||
pwr1 = ValiddBmValue(AltitudeInMeter / 300); //Max 18km altitude, every dBm count as 300m and max dBm that can be reported is 60
|
||||
pwr2 = ValiddBmValue((AltitudeInMeter - (pwr1 * 300)) / 20); //Finer calculations for the second power transmission (if any depends on user setting) every dBm in this report is 20m. The two reports will be added on the receive side
|
||||
pwr2 = ValiddBmValue((AltitudeInMeter - (pwr1 * 300)) / 20); //Finer calculations for the second power transmission (if any - depends on user setting) every dBm in this report is 20m. The two reports will be added on the receive side
|
||||
GadgetData.WSPRData.TXPowerdBm = pwr1;
|
||||
}
|
||||
|
||||
|
@ -1501,7 +1502,7 @@ boolean DetectSi5351I2CAddress()
|
|||
}
|
||||
else
|
||||
{
|
||||
Serial.println("Not Detected at adress 96");
|
||||
//Serial.println("Not Detected at adress 96");
|
||||
Si5351I2CAddress = 98; //Try the alternative address of 98
|
||||
i2cStart();
|
||||
I2CResult = i2cByteSend((Si5351I2CAddress << 1));
|
|
@ -71,7 +71,7 @@
|
|||
Added autodetection of Si5351 I2C address, 96 or 98.
|
||||
0.97 Changed how the [OBD] was Set/Get to avoid feedback loop in the PC GUI that would Set and then Clear a value repeatedly
|
||||
1.00 Fixed a bug that cased Type 3 transmission even if was not configered.
|
||||
1.1 Desktop model with 10m filter intalled now indicates it can do 17m aswell besides the 12m and 15m
|
||||
1.01 Desktop model with 10m filter intalled now indicates it can do 17m aswell besides the 12m and 15m
|
||||
|
||||
To compile :
|
||||
1 set board to "Arduino Pro or Pro Mini", set processor to ATMega328P(3.3V, 8MHZ)
|
||||
|
@ -86,7 +86,7 @@
|
|||
*/
|
||||
|
||||
const uint8_t SoftwareVersion = 1; //0 to 255. 0=Beta
|
||||
const uint8_t SoftwareRevision = 1; //0 to 255
|
||||
const uint8_t SoftwareRevision = 01; //0 to 255
|
||||
|
||||
// Product model. WSPR-TX_LP1 =1011
|
||||
// Product model. WSPR-TX Desktop =1012
|
||||
|
@ -338,14 +338,8 @@ void setup()
|
|||
//Low
|
||||
if (Product_Model == 1012) //Desktop Model, set default LP as a Low version
|
||||
{
|
||||
FactoryData.HW_Revision = 20; // Hardware revision
|
||||
FactoryData.HW_Revision = 19; // Hardware revision
|
||||
|
||||
//MidPlus
|
||||
FactoryData.LP_A_BandNum = 10;//Low Pass filter A is 10m (+ 15 and 12m)
|
||||
FactoryData.LP_B_BandNum = 3; //Low Pass filter B is 80m
|
||||
FactoryData.LP_C_BandNum = 4; //Low Pass filter C is 40m
|
||||
FactoryData.LP_D_BandNum = 6; //Low Pass filter D is 20m
|
||||
/*
|
||||
//Low Model
|
||||
FactoryData.LP_A_BandNum = 0; //Low Pass filter A is 2190m
|
||||
FactoryData.LP_B_BandNum = 1; //Low Pass filter B is 630m
|
||||
|
@ -357,7 +351,7 @@ void setup()
|
|||
FactoryData.LP_B_BandNum = 3; //Low Pass filter B is 80m
|
||||
FactoryData.LP_C_BandNum = 4; //Low Pass filter C is 40m
|
||||
FactoryData.LP_D_BandNum = 6; //Low Pass filter D is 20m
|
||||
|
||||
/*
|
||||
//HighPlus
|
||||
FactoryData.LP_A_BandNum = 7; //Low Pass filter A is 17m
|
||||
FactoryData.LP_B_BandNum = 10; //Low Pass filter B is 10m (+ 15 and 12m)
|
Plik diff jest za duży
Load Diff
|
@ -101,7 +101,7 @@ const uint8_t SoftwareRevision = 10; //0 to 255
|
|||
// Product model. WSPR-TX Pico =1028
|
||||
// Product model. WSPR-TX_LP1 with Mezzanine BLP4 card =1029
|
||||
|
||||
const uint16_t Product_Model = 1017;
|
||||
const uint16_t Product_Model = 1012;
|
||||
|
||||
|
||||
#include <EEPROM.h>
|
|
@ -20,7 +20,7 @@
|
|||
0.54 Added TX status updates when sending CCM status to improve the PC client display.
|
||||
0.55 Added support for factory data in EEPROM, stores TCXO and hardware info.
|
||||
0.56 Changed 80 TX freq to new standard of 3.570,100MHz
|
||||
0.57 Split Firmware in to two separate version for the WSPR-TX_ LP1 and Desktop products and changed the "Product_Model" from Factory EEPROM data to constant
|
||||
0.57 Split Firmware in t o two separate version for the WSPR-TX_ LP1 and Desktop products and changed the "Product_Model" from Factory EEPROM data to constant
|
||||
0.58 Fixed Frequency information output calculation errors when Freq=<1MHz
|
||||
0.59 Fixed dim Red TX LED, (Pin was not set to output by setup routine)
|
||||
0.60 Fixed wrong TX Freq on 10,12 and 15 Band
|
||||
|
@ -102,7 +102,7 @@ const uint8_t SoftwareRevision = 11; //0 to 255
|
|||
// Product model. WSPR-TX Pico =1028
|
||||
// Product model. WSPR-TX_LP1 with Mezzanine BLP4 card =1029
|
||||
|
||||
const uint16_t Product_Model = 1012;
|
||||
const uint16_t Product_Model = 1011;
|
||||
|
||||
|
||||
#include <EEPROM.h>
|
||||
|
@ -354,35 +354,34 @@ void setup()
|
|||
FactoryData.LP_C_BandNum = 99; //Low Pass filter C is Nothing
|
||||
FactoryData.LP_D_BandNum = 99; //Low Pass filter D is Nothing
|
||||
}
|
||||
//Low
|
||||
|
||||
if (Product_Model == 1012) //Desktop Model, set default version
|
||||
{
|
||||
FactoryData.HW_Revision = 20; // Hardware revision
|
||||
//80To10
|
||||
FactoryData.LP_A_BandNum = 10;//Low Pass filter A is 10m (+17m + 15m and 12m)
|
||||
FactoryData.LP_B_BandNum = 3; //Low Pass filter B is 80m
|
||||
FactoryData.LP_C_BandNum = 4; //Low Pass filter C is 40m
|
||||
FactoryData.LP_D_BandNum = 6; //Low Pass filter D is 20m
|
||||
|
||||
|
||||
/*
|
||||
FactoryData.HW_Revision = 21; // Hardware revision
|
||||
|
||||
//80To10
|
||||
FactoryData.LP_A_BandNum = 10;//Low Pass filter A is 10m (+17m + 15m and 12m)
|
||||
FactoryData.LP_B_BandNum = 3; //Low Pass filter B is 80m
|
||||
FactoryData.LP_C_BandNum = 4; //Low Pass filter C is 40m
|
||||
FactoryData.LP_D_BandNum = 6; //Low Pass filter D is 20m (+30m)
|
||||
/*
|
||||
//80To10
|
||||
FactoryData.LP_A_BandNum = 10;//Low Pass filter A is 10m (+17m + 15m and 12m)
|
||||
FactoryData.LP_B_BandNum = 3; //Low Pass filter B is 80m
|
||||
FactoryData.LP_C_BandNum = 4; //Low Pass filter C is 40m
|
||||
FactoryData.LP_D_BandNum = 6; //Low Pass filter D is 20m
|
||||
FactoryData.LP_D_BandNum = 6; //Low Pass filter D is 20m (+30m)
|
||||
|
||||
//Low Model
|
||||
FactoryData.LP_A_BandNum = 0; //Low Pass filter A is 2190m
|
||||
FactoryData.LP_B_BandNum = 1; //Low Pass filter B is 630m
|
||||
FactoryData.LP_C_BandNum = 99; //Low Pass filter C is open circuit
|
||||
FactoryData.LP_D_BandNum = 99; //Low Pass filter D is open circuit
|
||||
|
||||
|
||||
//MidPlus
|
||||
FactoryData.LP_A_BandNum = 2; //Low Pass filter A is 160m
|
||||
FactoryData.LP_B_BandNum = 3; //Low Pass filter B is 80m
|
||||
FactoryData.LP_C_BandNum = 4; //Low Pass filter C is 40m
|
||||
FactoryData.LP_D_BandNum = 6; //Low Pass filter D is 20m
|
||||
FactoryData.LP_D_BandNum = 6; //Low Pass filter D is 20m (+30m)
|
||||
|
||||
//HighPlus
|
||||
FactoryData.LP_A_BandNum = 7; //Low Pass filter A is 17m
|
||||
|
@ -411,7 +410,7 @@ void setup()
|
|||
}
|
||||
}
|
||||
|
||||
if (LoadFromEPROM(UserSpace)) //Read all UserSpace data from EEPROM at position 0
|
||||
if (LoadFromEPROM(UserSpace)) //Read all UserSpace data from EEPROM at position 0
|
||||
{
|
||||
CurrentMode = GadgetData.StartMode;
|
||||
GadgetData.WSPRData.CallSign[6] = 0;//make sure Call sign is null terminated in case of incomplete data saved
|
||||
|
@ -1317,7 +1316,7 @@ void DoWSPR ()
|
|||
uint8_t pwr1, pwr2; //Used in Altitude to power reporting (balloon coding)
|
||||
uint32_t AltitudeInMeter;
|
||||
boolean ConfigError;
|
||||
int GPSNoReceiveCount; //If GPS stops working in WSPR Beacon mode this will increment
|
||||
// uint32_t GPSNoReceiveCount; //If GPS stops working in WSPR Beacon mode this will increment
|
||||
int WSPRMessageTypeToUse;
|
||||
|
||||
if (GadgetData.WSPRData.SuPreFixOption == None) //if standard Call Sign with no Sufix then send a Standards Type 1 message, else Send a Type 2 Message to include the Sufix
|
||||
|
@ -1359,15 +1358,15 @@ void DoWSPR ()
|
|||
else
|
||||
{
|
||||
CurrentBand = 0;
|
||||
NextFreq(); //Cycle to next enabled band to transmitt on
|
||||
NextFreq(); //Cycle to next enabled band to transmit on
|
||||
freq = freq + (100ULL * random (-100, 100)); //modify TX frequency with a random value beween -100 and +100 Hz
|
||||
si5351aOutputOff(SI_CLK0_CONTROL);
|
||||
SendAPIUpdate (UMesCurrentMode);
|
||||
|
||||
//LOOP HERE FOREVER OR UNTIL INTERRUPTED BY A SERIAL COMMAND
|
||||
while (!Serial.available()) { //Do until incoming serial command
|
||||
while (gps.available( GPSSerial )) { //If GPS data available - process it
|
||||
GPSNoReceiveCount = 0;
|
||||
while (gps.available( GPSSerial )) { //If GPS data is available - process it
|
||||
LoopGPSNoReceiveCount = 0;
|
||||
fix = gps.read();
|
||||
SendAPIUpdate(UMesTime);
|
||||
if (Serial.available()) {// If serialdata was received on control port then handle command
|
||||
|
@ -1456,10 +1455,10 @@ void DoWSPR ()
|
|||
smartdelay(400);
|
||||
}
|
||||
} //GPS serial data loop
|
||||
GPSNoReceiveCount++;
|
||||
if (GPSNoReceiveCount > 30000) //GPS have not sent anything for a long time, GPS is possible in sleep mode or has not started up correctly. This can happen if a brown-out/reboot happens while the GPS was sleeping
|
||||
LoopGPSNoReceiveCount++;
|
||||
if (LoopGPSNoReceiveCount > 60000) //GPS have not sent anything for a long time, GPS is possible in sleep mode or has not started up correctly. This can happen if a brown-out/reboot happens while the GPS was sleeping
|
||||
{
|
||||
GPSNoReceiveCount = 0;
|
||||
LoopGPSNoReceiveCount = 0;
|
||||
Serial.println(F("{MIN} Resetting GPS"));
|
||||
GPSReset ();//Try to get GPS going again
|
||||
smartdelay(2000);
|
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Ładowanie…
Reference in New Issue