174 | | In the DCF, the {{{frame_rx_callback()}}} is attached to the {{{frame_receive()}}} function. In the above MPDU transmission state, we have already seen some executions of this function to deal with the receptions of ACK and CTS frames. Independently of these actions, the {{{frame_receive()}}} function needs to pass receptions up to CPU_HIGH |
| 174 | In the DCF, the {{{frame_rx_callback()}}} is attached to the {{{frame_receive()}}} function. In the above MPDU transmission state, we have already seen some executions of this function to deal with the receptions of ACK and CTS frames. Independently of these actions, the {{{frame_receive()}}} function needs to pass receptions up to CPU_HIGH and, if needed, generated acknowledgment responses. |
| 175 | |
| 176 | Pseudocode: |
| 177 | {{{ |
| 178 | if( RA address is to me ) |
| 179 | switch( packet type ) |
| 180 | case DATA: |
| 181 | wait for FCS |
| 182 | if( FCS good ) |
| 183 | configure MAC support core to send ACK after SIFS interval |
| 184 | |
| 185 | if( frame passes CPU_LOW filter ) |
| 186 | call MAC Low Framework function to send IPC message to CPU_HIGH |
| 187 | stating that the Rx MPDU is ready to be processed |
| 188 | }}} |