https://www.st.com/en/ecosystems/x-nucleo-plm01a1.html MBED driver for the ST7580 IC.

Revision:
0:e88514a784bb
Child:
1:edbcde816013
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ST7580.h	Mon Apr 15 06:41:00 2019 +0000
@@ -0,0 +1,67 @@
+#ifndef ST7580_H
+#define ST7580_H
+
+#include "mbed.h"
+#include "ST7580_codes.h"
+#include <stdio.h>
+#include <string.h>
+
+#define ST7580_TSR 100
+
+/*! \class ST7580
+* \brief ST7580 driver
+*
+*  here is a minimal example:
+*   
+*    ST7580 shield(D8, D2, D13, D7);
+*    shield.init();
+*    wait(1);
+*    while(1) {
+*        shield.send_frame("Hello world!");
+*    }
+*/
+class ST7580 
+{
+    public:
+        /*!
+         *  \brief Constructor
+         *
+         *  ST7580 Constructor
+         *
+         *  \param tx : mbed UART transmission pin
+         *  \param rx : mbed UART reception pin
+         *  \param t_req : ST7580 transmit request pin
+         *  \param reset : ST7580 reset pin
+         *  \param usr_callback : callback to the user app with reception buffer, and payload length as arguments
+         */
+        ST7580(PinName tx, PinName rx, PinName t_req, PinName reset,  void (*usr_callback)(unsigned char *, int));
+        
+        /*!
+         *  \brief Initialises the pins and UART needed for the driver
+         *
+         *  Creates the UART handle and needed pins
+         */
+        void init();
+        void send_frame(unsigned char *msg, int msg_length);
+        //void receive_frame();
+
+    private:
+        void wait_status();
+        void wait_reset();
+        void reset_reception_buffer();
+        void rx_complete();
+        void rx_callback();
+
+        void (*_usr_callback)(unsigned char *, int);
+        volatile unsigned char _rx_char;
+        volatile unsigned char _rcv_data[512];
+        volatile int _rcv_data_idx;
+        volatile int _rcv_data_offset;
+        volatile int _step;
+
+        DigitalOut  *_plm_t_req;
+        DigitalOut  *_plm_reset;
+        RawSerial   *_plm_uart;
+};
+
+#endif
\ No newline at end of file