This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LPC1768 how IDs are stored in LUT?

I'm using Open 1768 library for my current project and making use of CAN driver for the same. Under examples section, i'm using can_test_two_kit for receiving a CAN message.
I have a doubt in the following piece of code:

CAN_ERROR CAN_SetupAFTable(void) {
        uint32_t i = 0;
        CAN_ERROR result;
        /* Set up Explicit Standard Frame Format Identifier Section
         * In this simple test, it has 16 entries ID
         */
        for (i = 0; i < 16; i++) {
                result = CAN_LoadExplicitEntry(LPC_CAN1, i + 1, STD_ID_FORMAT);
        }
        /* Set up Explicit Extended Frame Format Identifier Section
         * In this simple test, it has 16 entries ID
         */
        for (i = 0; i < 16; i++) {
                result = CAN_LoadExplicitEntry(LPC_CAN1, i << 11, EXT_ID_FORMAT);
        }
        return result;
}
CAN_ERROR CAN_LoadExplicitEntry(LPC_CAN_TypeDef* CANx, uint32_t id, CAN_ID_FORMAT_Type format)

My doubt is:1. in the above example where is the message identifier getting stored in the look up table?
2. How does acceptance filtering work for the above code(as the id as part of the function argument is the id_entry no. in the table and not the actual message Id) and how does it receive only the specific id present in the lookup table?
pl note: I understood how the interrupts are getting generated and have enabled them as well. However, i'm not understanding how the lookup table works.