MAX32620HSP (MAXREFDES100) RPC Example for Graphical User Interface

Dependencies:   USBDevice

Fork of HSP_Release by Jerry Bradshaw

This is an example program for the MAX32620HSP (MAXREFDES100 Health Sensor Platform). It demonstrates all the features of the platform and works with a companion graphical user interface (GUI) to help evaluate/configure/monitor the board. Go to the MAXREFDES100 product page and click on "design resources" to download the companion software. The GUI connects to the board through an RPC interface on a virtual serial port over the USB interface.

The RPC interface provides access to all the features of the board and is available to interface with other development environments such Matlab. This firmware provides realtime data streaming through the RPC interface over USB, and also provides the ability to log the data to flash for untethered battery operation. The data logging settings are configured through the GUI, and the GUI also provides the interface to download logged data.

Details on the RPC interface can be found here: HSP RPC Interface Documentation

Windows

With this program loaded, the MAX32620HSP will appear on your computer as a serial port. On Mac and Linux, this will happen by default. For Windows, you need to install a driver: HSP serial port windows driver

For more details about this platform and how to use it, see the MAXREFDES100 product page.

Committer:
jbradshaw
Date:
Tue Apr 25 10:47:10 2017 -0500
Revision:
3:8e9b9f5818aa
Parent:
0:e4a10ed6eb92
Removed Bulk Erasing, instead a small number of bytes are sampled from each and every page to determine if sector is "dirty", if so sector is erased
Prevents device from sleeping when the firmware detects a series of binary flash page RPC transfers, this increases flash page transfers by %450
when 200mS elapse with the last flash page transfer, normal sleep behaviour is resumed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jbradshaw 0:e4a10ed6eb92 1 #ifndef _LOGGING_H_
jbradshaw 0:e4a10ed6eb92 2 #define _LOGGING_H_
jbradshaw 0:e4a10ed6eb92 3
jbradshaw 0:e4a10ed6eb92 4 #include "mbed.h"
jbradshaw 0:e4a10ed6eb92 5
jbradshaw 0:e4a10ed6eb92 6 /**
jbradshaw 0:e4a10ed6eb92 7 * @brief This will read the mission location and if there is something valid,
jbradshaw 0:e4a10ed6eb92 8 * then run the Logging_ProcessMissionCmds()
jbradshaw 0:e4a10ed6eb92 9 * @param cmdBuffer buffer
jbradshaw 0:e4a10ed6eb92 10 */
jbradshaw 0:e4a10ed6eb92 11 uint32_t Logging_IsMissionDefined(uint8_t *cmdBuffer);
jbradshaw 0:e4a10ed6eb92 12
jbradshaw 0:e4a10ed6eb92 13 int8_t Logging_ReadMissionFromFlash(uint8_t *buffer);
jbradshaw 0:e4a10ed6eb92 14
jbradshaw 0:e4a10ed6eb92 15 // return the page where mission is defined, Mission specific
jbradshaw 0:e4a10ed6eb92 16 uint32_t Logging_GetMissionStartPage(void);
jbradshaw 0:e4a10ed6eb92 17
jbradshaw 0:e4a10ed6eb92 18 // return the page where the mission definition ends, Mission specific
jbradshaw 0:e4a10ed6eb92 19 uint32_t Logging_GetMissionEndPage(void);
jbradshaw 0:e4a10ed6eb92 20
jbradshaw 0:e4a10ed6eb92 21 // Returns the location where the Writing can start from, for data logging...
jbradshaw 0:e4a10ed6eb92 22 uint32_t Logging_GetLoggingStartPage(void);
jbradshaw 0:e4a10ed6eb92 23
jbradshaw 0:e4a10ed6eb92 24 // Returns the end location available where the Flash ends essentially.... for
jbradshaw 0:e4a10ed6eb92 25 // data logging.
jbradshaw 0:e4a10ed6eb92 26 uint32_t Logging_GetLoggingEndPage(void);
jbradshaw 0:e4a10ed6eb92 27
jbradshaw 0:e4a10ed6eb92 28 // returns one if the usb is connected, zero if not
jbradshaw 0:e4a10ed6eb92 29 uint32_t Usb_IsConnected(void);
jbradshaw 0:e4a10ed6eb92 30
jbradshaw 0:e4a10ed6eb92 31 void Logging_SetStart(bool state);
jbradshaw 0:e4a10ed6eb92 32
jbradshaw 0:e4a10ed6eb92 33 bool Logging_GetStart(void);
jbradshaw 0:e4a10ed6eb92 34
jbradshaw 0:e4a10ed6eb92 35 #endif /* _LOGGING_H_ */