The microcode is responsible for generating the values in the SHM.

## TSSI values

### B/G PHY

The TSSI values are located at SHM offsets `0x58` for CCK and `0x70` for OFDM.

Each SHM offset has 4 unsigned byte values. To use the values, add 32 to each value and then use only the lower 6 bits (signed 6 bit number).

### A PHY

The OFDM TSSI values are located at SHM offset `0x68`.

It contains 4 unsigned byte values.

### Validity

The microcode uses the four values as a FIFO, replacing the oldest value whenever a new TSSI value is available. To determine if the values are valid, `0x7F` is written to each value. Since `0x7F` is not a valid TSSI value, the number of new values can easily be determined.

## Calculating Output Power

### A PHY

Calculate the average of the four TSSI values, add the target idle TSSI, subtract the current idle TSSI for the current subband and look up the result in the TSSI to dBm table corresponding to the current subband or the common TSSI to dBm table if it exists.

### B/G PHY

Calculate the average of the four TSSI values, add the target idle TSSI, subtract the current idle TSSI and look up the result in the TSSI to dBm table. For OFDM, add the calculated TX power offset for the 6Mbit rate.