aboutsummaryrefslogtreecommitdiffstats
path: root/src/encoding.h
AgeCommit message (Collapse)AuthorFilesLines
2016-02-02encoding: Redesign Encoding::write_immediate_assignment APIJacob Erlbeck1-5/+5
The EGPRS support will need more information to encode the IMMEDIATE ASSIGMENT. Instead of adding more parameters pass a pointer to the TBF unless an SBA shall be done (indicated by tbf == NULL). All values that can be derived from the TBF and are not needed for an SBA are removed from the parameter list. Return a negative value on error. Sponsored-by: On-Waves ehf
2016-02-02tbf: Use TLLI as ID if TFI not yet assignedJacob Erlbeck1-1/+1
Currently the old TFI is always used as ID when a PACKET DOWNLINK ASSIGNMENT is generated. This fails if the old TBF has not been fully assigned yet. The MS will then ignore the PDA. This commit changes write_packet_downlink_assignment to accept an additional parameter old_tfi_is_valid and uses the new TBF's TLLI instead of the olf TFI if that parameter is set to false. Sponsored-by: On-Waves ehf
2016-02-02tbf: Add check_polling/set_polling (TODO)Jacob Erlbeck1-7/+9
Ticket: OW#???? Sponsored-by: On-Waves ehf
2016-02-02edge: Select implementation by mode in rlc_data_to_dl_appendJacob Erlbeck1-1/+2
Currently the GPRS data block encoding is applied to every coding scheme, even if an MCS is selected. This commit renames the actual encoding function to rlc_data_to_dl_append_gprs (not exported) and puts selection code into Encoding::rlc_data_to_dl_append. This requires an additional cs argument. Sponsored-by: On-Waves ehf
2016-02-02edge: Add Encoding::rlc_data_to_dl_appendJacob Erlbeck1-0/+14
This function appends a single chunk to an RLC downlink data block. The implementation is basically taken from the gprs_rlcmac_dl_tbf::create_new_bsn method without the TBF related functionality and any side effects. Note that it still only supports GRPS. Sponsored-by: On-Waves ehf
2016-02-02edge: Add encoder for downlink RLC data blocksJacob Erlbeck1-0/+8
Currently the (GPRS) RLC block encoding is done by setting the header fields directly in gprs_rlcmac_dl_tbf::create_new_bsn. This is much more complex with EGPRS, since the data fields are not byte aligned, the header formats depend on the header type, and the mapping of bits to bytes is LSB first. This commit adds Encoding::rlc_write_dl_data_header which writes the header according to the given gprs_rlc_data_header structure. Encoding::rlc_copy_from_aligned_buffer is also added to copy byte sequences into the message. Note that the actual encoding of data units is not yet present. Sponsored-by: On-Waves ehf
2016-02-01edge: Support EGPRS in write_packet_downlink_assignmentJacob Erlbeck1-3/+5
Add an use_egprs parameter to write_packet_downlink_assignment and add the EGPRS related fields if it is set to true. The window size is fixed at 64 blocks, link quality measurement reports have been disabled, and the other optional fields are not present. Sponsored-by: On-Waves ehf
2016-02-01encoding: Remove RlcMacDownlink_t based write_packet_uplink_ackJacob Erlbeck1-2/+0
This is the CSN1-encoder based variant, which has been replaced and is no longer being used. Sponsored-by: On-Waves ehf
2016-02-01encoding: Add bitvec based write_packet_uplink_ackJacob Erlbeck1-0/+3
The current write_packet_uplink_ack implementation is based on the CSN.1 encoder which makes it difficult to do the bitmap encoding for EGPRS. Add a new implementation based on bitvec functions to create the PACKET UPLINK ACK/NACK messages. Sponsored-by: On-Waves ehf
2015-11-30edge: Support EGPRS in packet uplink assignment messageJacob Erlbeck1-1/+1
Currently the Encoding::write_packet_uplink_assignment method only supports the GPRS variant of the message. This commit adds the missing EGPRS variant to the encoder. Sponsored-by: On-Waves ehf
2014-08-07encoding: Change function signature to use UL TBFs where it makes senseDaniel Willmann1-2/+2
encode_rbb() and write_packet_uplink_assignment are only called with UL TBFs so change the function signature to reflect that. Ticket: SYS#389 Sponsored by: On-Waves ehf
2013-12-12encoding: Factor out encode_rbb to help testingDaniel Willmann1-0/+2
2013-10-30encoding: Move the functions into the encoding classHolger Hans Peter Freyther1-0/+66
Add some TODO to this class. E.g. they could all work on the bitvec and the parameter handling could better.