var FIELDS = [
  'rtsOpen',
  'rtsShorted',
  'rtsDisconnected',
  'heatsinkTempSensorOpen',
  'heatsinkTempSensorShorted',
  'highTemperatureCurrentLimit',
  'currentLimit',
  'currentOffset',
  'batterySense',
  'batterySenseDisconnected',
  'uncalibrated',
  'rtsMiswire',
  'highVoltageDisconnect',
  'undefined',
  'systemMiswire',
  'mosfetSOpen',
  'p12VoltageReferenceOff',
  'highArrayVCurrentLimit',
  'maxAdcValueReached',
  'controllerWasReset',
];

var flags = parseInt(value.replace(/\x20/g, ''), 16),
  result = [];

for (var i = 0, f = 1 << 31 >>> 0, l = FIELDS.length; i < l; i++, f >>>= 1) {
    if (flags & f) {
        result.push(FIELDS[i]);
    }
}

return result.length ? result.join('\n') : 'No alarms';