• Cedric Roux's avatar
    bugfixes for UL scheduling · a5a16903
    Cedric Roux authored
    - size of PUCCH has been fixed to:
        - 2 RBs for N_RB_UL = 25 (1 RB at top of resource grid, 1 RB at bottom)
        - 4 RBs for N_RB_UL = 50
        - 6 RBs for N_RB_UL = 100
      this is arbitrary and will need some rework at some point.
      This may be also wrong. PUCCH size actually depends on DL traffic
      (if the ack/nack is not done in PUSCH) and scheduling request
      configurations.
    - add sched_frame %= 1024 at one needed place
    - reserve RBs for retransmission
      this was not done so new transmissions were scheduled in the same
      RBs. Since the code works with the notion of 'first_rb' only, it
      was decided to skip all RBs lower than those retransmitted. This
      works but is not correct (imagine we have to retransmit RB 23, then
      all RBs < 23 will not be used for new transmission). The work to
      fix this properly is complex, a lot has to change, so let's do it
      this simple way for now.
    - sort_ue_ul was not correct
      - add the function maxround_ul to use the correct 'round' (the one
        from DL was used, which is totally wrong)
      - be sure to use the correct frame/subframe to get the correct HARQ pid
    a5a16903
mac_proto.h 54.1 KB