]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/src/i82527.c
CPC-PCI second chip IRQ corrected. Message timestamp code added.
[lincan.git] / lincan / src / i82527.c
index f71a16af82e84279d70b3715bb9891cd97d3606e..682374a39942d3fc191fdfbba5ccd1bdc47d68b2 100644 (file)
@@ -425,6 +425,9 @@ void i82527_irq_write_handler(struct chip_t *chip, struct msgobj_t *obj)
        if(obj->tx_slot){
                /* Do local transmitted message distribution if enabled */
                if (processlocal){
+                       /* fill CAN message timestamp */
+                       can_filltimestamp(&obj->tx_slot->msg.timestamp);
+
                        obj->tx_slot->msg.flags |= MSG_LOCAL;
                        canque_filter_msg2edges(obj->qends, &obj->tx_slot->msg);
                }
@@ -514,6 +517,9 @@ void i82527_irq_read_handler(struct chip_t *chip, struct msgobj_t *obj, int objn
                }
                
 
+               /* fill CAN message timestamp */
+               can_filltimestamp(&obj->rx_msg.timestamp);
+
                canque_filter_msg2edges(obj->qends, &obj->rx_msg);
                
                if (msgctl1 & NEWD_SET)
@@ -744,3 +750,11 @@ int i82527_register(struct chipspecops_t *chipspecops)
        chipspecops->irq_handler = i82527_irq_handler;
        return 0;
 }
+
+int i82527_fill_chipspecops(struct chip_t *chip)
+{
+       chip->chip_type="i82527";
+       chip->max_objects=15;
+       i82527_register(chip->chipspecops);
+       return 0;
+}