Receive the coordinates coming from the server
At random times the server sends a bunch of new coordinates to the driver. The driver should read the received coordinates, transform them into usable values for the driver ( probably encoder values), filter the coordinates (throw the coordinates away that can't be used because the time already passed or the coordinate con't be reached. Make sure that overlapping periods that are already in the database are thrown away too. The databased should contain the latest correct coordinates. The format of the coordinates file is the following:
<?xml version="1.0"?>
<serverAntennaMessage xmlns="http://www.sidc.be/humain/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sidc.be/humain http://www.sidc.be/humain/serverantennacommunication.xsd">
<messageHeader>
<messageSubject messageType="request">antenna_instructions</messageSubject>
<scenarioID>1903421806</scenarioID>
<subscenarioID>1903421807</subscenarioID>
<creationTime>2017-06-23T08:48:02.125Z</creationTime>
</messageHeader>
<messageBody>
<antennaInstructionsBody>
<pointingDescriptionList>
<pointingDescription>
<pointingTime>2017-06-23T09:47:32Z</pointingTime>
<pointingHourAngle>1.8949032</pointingHourAngle>
<pointingDeclinationAngle>22.438917</pointingDeclinationAngle>
<parking>false</parking>
</pointingDescription>
<pointingDescription>
<pointingTime>2017-06-23T09:48:32Z</pointingTime>
<pointingHourAngle>1.8782387</pointingHourAngle>
<pointingDeclinationAngle>22.438917</pointingDeclinationAngle>
<parking>false</parking>
</pointingDescription>
<pointingDescription>
<pointingTime>2017-06-23T09:49:32Z</pointingTime>
<pointingHourAngle>1.861574</pointingHourAngle>
<pointingDeclinationAngle>22.438917</pointingDeclinationAngle>
<parking>false</parking>
</pointingDescription>
</pointingDescriptionList>
</antennaInstructionsBody>
</messageBody>
</serverAntennaMessage>