mbed library sources

Fork of mbed-src by mbed official

Revision:
15:4892fe388435
Parent:
13:0645d8841f51
Child:
41:e8b66477f5bf
--- a/hal/can_api.h	Mon Aug 05 14:54:27 2013 +0000
+++ b/hal/can_api.h	Wed Aug 07 16:43:59 2013 +0300
@@ -28,13 +28,43 @@
 extern "C" {
 #endif
 
+typedef enum {
+    IRQ_RX,
+    IRQ_TX,
+    IRQ_ERROR,
+    IRQ_OVERRUN,
+    IRQ_WAKEUP,
+    IRQ_PASSIVE,
+    IRQ_ARB,
+    IRQ_BUS,
+    IRQ_READY
+} CanIrqType;
+
+
+typedef enum {
+    MODE_RESET,
+    MODE_NORMAL,
+    MODE_SILENT,
+    MODE_TEST_GLOBAL,
+    MODE_TEST_LOCAL,
+    MODE_TEST_SILENT
+} CanMode;
+
+typedef void (*can_irq_handler)(uint32_t id, CanIrqType type);
+
 typedef struct can_s can_t;
 
 void          can_init     (can_t *obj, PinName rd, PinName td);
 void          can_free     (can_t *obj);
 int           can_frequency(can_t *obj, int hz);
+
+void          can_irq_init (can_t *obj, can_irq_handler handler, uint32_t id);
+void          can_irq_free (can_t *obj);
+void          can_irq_set  (can_t *obj, CanIrqType irq, uint32_t enable);
+
 int           can_write    (can_t *obj, CAN_Message, int cc);
 int           can_read     (can_t *obj, CAN_Message *msg);
+int           can_mode     (can_t *obj, CanMode mode);
 void          can_reset    (can_t *obj);
 unsigned char can_rderror  (can_t *obj);
 unsigned char can_tderror  (can_t *obj);