CPS Updated
Re: CPS Updated
Thanks for the clarification, Roger!
So now the only information I miss is how to upload satellite data to the radio in Linux (preferably in Python).
(and I need to build an antenna for satellite QSOs...)
So now the only information I miss is how to upload satellite data to the radio in Linux (preferably in Python).
(and I need to build an antenna for satellite QSOs...)
Re: CPS Updated
Yep, I was asking THREE things..(albeit definitely somewhat tersely stated). Here's what they were:
1) - Has the codeplug format changed ?
2) - Has the location for the codeplug changed ?
3) - Has the amount of allocated space for the codeplug changed ?
From the above discussion. I am assuming at least items two and three have not changed.
Thanks OMs for clarifying this.
es vy 73 de BOB W9YA
P.S... And I will TRY not to be so confusing in the future.
1) - Has the codeplug format changed ?
2) - Has the location for the codeplug changed ?
3) - Has the amount of allocated space for the codeplug changed ?
From the above discussion. I am assuming at least items two and three have not changed.
Thanks OMs for clarifying this.
es vy 73 de BOB W9YA
P.S... And I will TRY not to be so confusing in the future.
Re: CPS Updated
Nothing has changed at all with the codeplug format.
The changes to the Windows CPS exe are for the installation of the firmware
The changes to the Windows CPS exe are for the installation of the firmware
Re: CPS Updated
We didn't write a method to do this in python
The data structre format is
Code: Select all
typedef struct
{
char TLE_Name[16];
char TLE_Line1[70];
char TLE_Line2[70];
uint32_t rxFreq;
uint32_t txFreq;
uint16_t txCTCSS;
uint16_t armCTCSS;
} codeplugSatelliteData_t;
i.e its a new enum for the data block CODEPLUG_CUSTOM_DATA_SATELLITE_TLE
Code: Select all
typedef enum
{
CODEPLUG_CUSTOM_DATA_TYPE_NONE = 0,
CODEPLUG_CUSTOM_DATA_TYPE_IMAGE,
CODEPLUG_CUSTOM_DATA_TYPE_BEEP,
CODEPLUG_CUSTOM_DATA_SATELLITE_TLE
} codeplugCustomDataType_t;
Its using functions in the firmware which were already in the last public release source code, specifically
Code: Select all
bool codeplugGetOpenGD77CustomData(codeplugCustomDataType_t dataType, uint8_t *dataBuf)
{
uint8_t tmpBuf[12];
int dataHeaderAddress = 12;
const int MAX_BLOCK_ADDRESS = 0x10000;
SPI_Flash_read(0, tmpBuf, 12);
if (memcmp("OpenGD77", tmpBuf, 8) == 0)
{
codeplugCustomDataBlockHeader_t blockHeader;
do
{
SPI_Flash_read(dataHeaderAddress, (uint8_t *)&blockHeader, sizeof(codeplugCustomDataBlockHeader_t));
if (blockHeader.dataType == dataType)
{
SPI_Flash_read(dataHeaderAddress + sizeof(codeplugCustomDataBlockHeader_t), dataBuf, blockHeader.dataLength);
return true;
}
if (blockHeader.dataLength == 0)
{
return false;
}
dataHeaderAddress += sizeof(codeplugCustomDataBlockHeader_t) + blockHeader.dataLength;
} while (dataHeaderAddress < MAX_BLOCK_ADDRESS);
}
return false;
}
Code: Select all
typedef struct
{
int dataType;
int dataLength;
} codeplugCustomDataBlockHeader_t;
I'm not sure if your program already supports boot melody and boot image, if so this is just an extension to the at functionality
The Keps are downloaded from the URL listed in the CPS, and the CPS also loads satellites.txt which is part of the CPS installation and the format of satellites.txt is documented in the user guide.
Additionally the CPS can set the date / time by sending the time as secs since epoc 1970/01/01
In the firmware a new sub command was added
Code: Select all
case 7:
memcpy(&uiDataGlobal.dateTimeSecs, (uint8_t *)&com_requestbuffer[3], sizeof(uint32_t));// update date with data from the CPS
menuSatelliteScreenClearPredictions(true);
break;
to
Code: Select all
case 6:
{
int subCommand = com_requestbuffer[2];
uint32_t m = fw_millis();
// Do some other processing
switch(subCommand)
{
The firmware source code for this will be released when its stable
Re: CPS Updated
Hi,
And it's 15 satellites max.
Cheers.
---
Daniel
And it's 15 satellites max.
Cheers.
---
Daniel
Re: CPS Updated
Roger, is it possible to restore old "Download callsign database" functionality, with two sources? (see attachment)
As I mentioned before, ham-digital.org still works, so I still use an old version to choose which callsigns to write, depending on lastheard data.
- Attachments
-
- capture1.jpg (64.6 KiB) Viewed 3831 times
Re: CPS Updated
The format of the data from the Ham digital website is different to the RadioID data , so it would take some time to combine both functionalities again.
I would need to investigate how long it will take to do this, but I am busy with some other things at the moment
I would need to investigate how long it will take to do this, but I am busy with some other things at the moment
Re: How much data [Install satellite keps] uploads to the radio?
I have been writing a Python program to update satellite keps. I think I understand the data structures involved after reading https://www.opengd77.com/viewtopic.php? ... =10#p15844 - but I have a question about how much data the CPS sends to the radio.
When the user clicks [Install satellite keps] in CPS, does the CPS send to the radio
When the user clicks [Install satellite keps] in CPS, does the CPS send to the radio
- the whole codeplug,
- the whole custom data area [0x1EE60,0x20000[ or
- only the Keps custom data block (type CODEPLUG_CUSTOM_DATA_SATELLITE_TLE)?
Re: CPS Updated
The whole custom data area, its not possible to send just the keps block , as the radio custom data area may not contain what is in the codeplug