API for linking to the Huxley National Rail REST proxy for the retrieval of live National Rail data. Still needs work (sadly), but works well for the time being!

Dependencies:   EthernetInterface

National Rail Huxley Integration Interface

This API provides a clear link between the National Rail Huxley Integration JSON interface (available at https://huxley.unop.uk/), and mbed devices, over an Ethernet connection. This project is still very much a work-in-progress, but hopefully I will be able to provide a comprehensive method of retrieving live National Rail departures data in a simple and effective way.

/media/uploads/Leigh_LbR/nre_powered_logo.jpg

Committer:
Leigh_LbR
Date:
Tue May 24 15:17:38 2016 +0000
Revision:
11:4532ff549fcf
Parent:
6:dae1cdf19e90
Fixed a small glitch with NR_Network.cpp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Leigh_LbR 0:bf04f62339a4 1 #ifndef DEPARTURE_BOARD_H
Leigh_LbR 0:bf04f62339a4 2 #define DEPARTURE_BOARD_H
Leigh_LbR 0:bf04f62339a4 3
Leigh_LbR 0:bf04f62339a4 4 #include "departure.h"
Leigh_LbR 6:dae1cdf19e90 5 #include "MbedJSONValue.h"
Leigh_LbR 0:bf04f62339a4 6 #include <string>
Leigh_LbR 0:bf04f62339a4 7
Leigh_LbR 4:7e8a23454d85 8 /** Departure_Board
Leigh_LbR 4:7e8a23454d85 9 * Contains information pertaining to an departure board; namely, a list of departures and a list of National Rail messages.
Leigh_LbR 4:7e8a23454d85 10 */
Leigh_LbR 0:bf04f62339a4 11 class Departure_Board
Leigh_LbR 0:bf04f62339a4 12 {
Leigh_LbR 0:bf04f62339a4 13 public:
Leigh_LbR 0:bf04f62339a4 14 Departure* departures;
Leigh_LbR 0:bf04f62339a4 15 int num_departures;
Leigh_LbR 0:bf04f62339a4 16
Leigh_LbR 0:bf04f62339a4 17 std::string* messages;
Leigh_LbR 0:bf04f62339a4 18 int num_messages;
Leigh_LbR 0:bf04f62339a4 19
Leigh_LbR 4:7e8a23454d85 20 /** Departure_Board constructor
Leigh_LbR 4:7e8a23454d85 21 * @param _departures pointer to a list of departures
Leigh_LbR 4:7e8a23454d85 22 * @param _num_departures number of departures in that list
Leigh_LbR 4:7e8a23454d85 23 * @param _messages pointer to a list of messages
Leigh_LbR 4:7e8a23454d85 24 * @param _num_messages number of messages in that list
Leigh_LbR 4:7e8a23454d85 25 */
Leigh_LbR 4:7e8a23454d85 26 Departure_Board(Departure* _departures, const int& _num_departures, std::string* _messages, const int& _num_messages);
Leigh_LbR 4:7e8a23454d85 27 /** Departure_Board default constructor
Leigh_LbR 4:7e8a23454d85 28 */
Leigh_LbR 5:a4a33e6729c2 29 Departure_Board() {};
Leigh_LbR 4:7e8a23454d85 30 /** Departure_Board destructor
Leigh_LbR 4:7e8a23454d85 31 */
Leigh_LbR 0:bf04f62339a4 32 ~Departure_Board();
Leigh_LbR 0:bf04f62339a4 33 };
Leigh_LbR 0:bf04f62339a4 34
Leigh_LbR 4:7e8a23454d85 35 /** Creates a Departure_Board object from a JSON object string. Uses the MbedJSONValue library.
Leigh_LbR 4:7e8a23454d85 36 * @param jsonObject the JSON object to be parsed
Leigh_LbR 4:7e8a23454d85 37 * @return a Departure_Board object containing the information from the JSON object string
Leigh_LbR 4:7e8a23454d85 38 */
Leigh_LbR 0:bf04f62339a4 39 Departure_Board depBoardFromJson(const std::string& jsonObject);
Leigh_LbR 0:bf04f62339a4 40
Leigh_LbR 0:bf04f62339a4 41 #endif