Dependents:   Kamal_CAN ReadFromSerial446 USNA-UMBC-KF-02_v3-noise USNA-UMBC-KF-01

Revision:
1:dbc44582f2f8
Parent:
0:d8f50b1e384f
--- a/mcp2515.h	Sat Jan 30 08:46:04 2010 +0000
+++ b/mcp2515.h	Sun Jun 13 09:52:03 2010 +0000
@@ -45,7 +45,7 @@
 void can_init(short id);
 char can_peek_message();
 char can_rx_byte();
-void can_set_id(short id); 
+void can_set_id(short id);
 void can_init_buffer();
 void can_load_byte(char input);
 void can_tx_buffer();
@@ -54,53 +54,64 @@
 
 #include "mbed.h"
 #include "SPI.h"
-        class mcp2515  {
-        public:
-            mcp2515(PinName mosi, PinName miso, PinName clk, PinName ncs);
-           // float read (void);
-           // void setThigh (float);
-           // void setTlow (float);
-           // float getThigh (void);
-           // float getTlow (void);
-            virtual void _reset();
-            uint8_t configRate(const uint8_t canSpeed);
-            void    setRegister(const uint8_t address, const uint8_t value);
-            
-            uint8_t readRegister(const uint8_t address);
-            void    modifyRegister(const uint8_t address, const uint8_t mask, const uint8_t data);
-            uint8_t setCANCTRL_Mode(uint8_t newmode);
-            uint8_t init(const uint8_t canSpeed);
-            void    initCANBuffers(void);
-            void    setRegisterS(const uint8_t address, const uint8_t values[], const uint8_t n);
-            void    write_can_id( const uint8_t mcp_addr, const uint8_t ext, const uint32_t can_id );
-            //
-            
-            void    readRegisterS(const uint8_t address, uint8_t values[], const uint8_t n);
-            uint8_t readXXStatus_helper(const uint8_t cmd);
-            uint8_t readStatus(void);
-            uint8_t RXStatus(void);
+class mcp2515  {
+   SPI& spi;
+    DigitalOut _ncs;
+    //Serial&  console =0;
+    bool    debug;
+public:
+    //  mcp2515(PinName mosi, PinName miso, PinName clk, PinName ncs);
+    mcp2515(SPI& _spi, PinName ncs);
+    // void setInterface(SPI& spi);
+    // float read (void);
+    // void setThigh (float);
+    // void setTlow (float);
+    // float getThigh (void);
+    // float getTlow (void);
+     void _reset();
+    uint8_t configRate(  uint8_t canSpeed);
+    void    setRegister(  uint8_t address,   uint8_t value);
+    
+    uint8_t readRegister(  uint8_t address);
+    void    modifyRegister(  uint8_t address,   uint8_t mask,   uint8_t data);
+    uint8_t setCANCTRL_Mode(uint8_t newmode);
+    uint8_t init(  int canSpeed);
+    void    initCANBuffers(void);
+    void    setRegisterS(  uint8_t address,   uint8_t values[],   uint8_t n);
+    void    write_can_id(   uint8_t mcp_addr,   uint8_t ext,   uint32_t can_id );
+    //
 
-            void read_can_id( const uint8_t mcp_addr, uint8_t* ext, uint32_t* can_id );
-            void read_canMsg( const uint8_t buffer_sidh_addr, CANMessage* msg);
-            void write_canMsg( const uint8_t buffer_sidh_addr,  CANMessage* msg);
-    
-            uint8_t getNextFreeTXBuf(uint8_t *txbuf_n);
+    void    readRegisterS(  uint8_t address, uint8_t values[],   uint8_t n);
+    uint8_t readXXStatus_helper(  uint8_t cmd);
+    uint8_t readStatus(void);
+    uint8_t RXStatus(void);
+
+    void read_can_id(   uint8_t mcp_addr, uint8_t* ext, uint32_t* can_id );
+    void read_can_idN(   uint8_t mcp_addr, CANFormat* ext, unsigned int* can_id );
+    void read_canMsg(   uint8_t buffer_sidh_addr, CANMessage* msg);
+    void write_canMsg(   uint8_t buffer_sidh_addr,  CANMessage* msg);
+
+    uint8_t getNextFreeTXBuf(uint8_t *txbuf_n);
+
+    void start_transmit(  uint8_t buffer_sidh_addr);
+
+    void dumpExtendedStatus(void);
+
+    void setDebugConsole(Serial c);
     
-            void start_transmit(const uint8_t buffer_sidh_addr);
-            
-            SPI _spi;
-            DigitalOut _ncs;   
-        // Private functions
-        private :   
-            void _select (void);               
-            void _deselect (void);       
-            int status();
-           void _pollbusy() ;
-           
-            uint8_t _spi_readwrite(uint8_t data);
-            uint8_t _spi_read(void);
-         
-           
-        };
+    int configRate2(int bit_rate);
+ 
+    // Private functions
+private :
+    void _select (void);
+    void _deselect (void);
+    int status();
+    void _pollbusy() ;
+
+    uint8_t _spi_readwrite(uint8_t data);
+    uint8_t _spi_read(void);
+
+
+};
 
 #endif // _MCP2515_H_