A method, comprising: receiving, at a printhead assembly including ink ejection devices having nozzles and arranged into primitive groups, data packets for controlling the ink ejection devices, each data packet including primitive firing data and fire signal selection data; selecting, for each data packet of the data packets and based on the fire signal selection data in each respective data packet, a fire signal for application to the primitive groups from among a plurality of selectable fire signals switchable among the primitive groups, the plurality of selectable fire signals having different properties, and the fire signal selection data indicates a fire signal to be applied to the primitive groups; generating the selected fire signals; and applying the selected fire signal to addressed ink ejection devices of the primitive groups based on the primitive firing data for each data packet and nozzle address data, wherein the nozzle address data is included in the data packets or generated separately by the processing electronics; wherein the ink ejection devices in at least one of the primitive groups have differing characteristics requiring different ones of the selectable firing signals, the differing characteristics including a different energy requirement; and wherein the ink ejection devices in the at least one of the primitive groups have differing energy requirements, and wherein selecting the fire signal includes selecting a relatively higher energy firing signal based on the fire signal selection data in a first data packet, and selecting a relatively lower energy firing signal based on the fire signal selection data in a second data packet. receiving, at a printhead assembly including ink ejection devices having nozzles and arranged into primitive groups, data packets for controlling the ink ejection devices, each data packet including primitive firing data and fire signal selection data; selecting, for each data packet of the data packets and based on the fire signal selection data in each respective data packet, a fire signal for application to the primitive groups from among a plurality of selectable fire signals switchable among the primitive groups, the plurality of selectable fire signals having different properties, and the fire signal selection data indicates a fire signal to be applied to the primitive groups; generating the selected fire signals; and applying the selected fire signal to addressed ink ejection devices of the primitive groups based on the primitive firing data for each data packet and nozzle address data, wherein the nozzle address data is included in the data packets or generated separately by the processing electronics; wherein the ink ejection devices in at least one of the primitive groups have differing characteristics requiring different ones of the selectable firing signals, the differing characteristics including a different energy requirement; and wherein the ink ejection devices in the at least one of the primitive groups have differing energy requirements, and wherein selecting the fire signal includes selecting a relatively higher energy firing signal based on the fire signal selection data in a first data packet, and selecting a relatively lower energy firing signal based on the fire signal selection data in a second data packet.