Эта библиотека была создана для того, чтобы микроконтроллеры семейства MSP430, не имеющие аппаратного модуля I2C интерфейса, могли все же вести обмен данными с внешними устройствами по этому интерфейсу. Для передачи и приема данных по I2C интерфейсу эта библиотека использует технологию bit-bang. По стандарту I2C требуется выход с тремя состояниями. Для этого линии переводятся в режим входов, а выводы притягиваются к линии питания при помощи внешних подтягивающих резисторов. При этом только при необходимости формирования нуля на линии MSP430 переводит вывод в режим выхода и удерживает его в низком состоянии
Для того чтобы иметь возможность правильно формировать временные параметры, библиотека написана на ассемблере. Если написать ее на С, то временные параметры будут зависеть от компилятора и настроек оптимизатора.