<commit_before>// Инициализация класса
var LPS331 = function(i2c, address) {
  this.__i2c = i2c;
  address === undefined ? this.__address = 0x5C : this.__address = address;
};

// Метод записывает данные data в регистр reg
LPS331.prototype.write = function (reg, data) {
  this.__i2c.writeTo(this.__address, [reg, data]);
};

// Метод производит чтение из регистра reg количестов байт count
LPS331.prototype.read = function (reg, count) {
  if (count === undefined) {
    count = 1;
  }
  this.__i2c.writeTo(this.__address, reg | 0x80);
  return this.__i2c.readFrom(this.__address, count);
};

// Старт модуля
LPS331.prototype.init = function() {
  this.write(0x20, 0xE0);
};

// Температура в raw
LPS331.prototype.getTemp = function() {
  var data = this.read(0x2B, 2);
  var temp = data[0] | (data[1] << 8);
  if (temp >= 32767) {
    temp -= 0xFFFF;
  }
  return temp;
};

// Температура в градусах цельсия
LPS331.prototype.getTempC = function() {
  var temp = this.getTemp();
  return  42.5 + temp / 480;
};

// Давление в raw
LPS331.prototype.getPressure = function() {
  var data = this.read(0x28, 3);
  var baro = data[1] << 8 | (data[2] << 16) || data[0];
  if (baro >2147483647) {
    baro -= 0xFFFFFFFF;
  }
  return baro;
};

// Давление в миллибарах
LPS331.prototype.getPressureMilliBars = function() {
  var baro = this.getPressure() / 4096;
  return baro;
};

// Давление в паскалях
LPS331.prototype.getPressurePascal = function() {
  var baro = this.getPressure() / 4096;
  return baro;
};

// Давление в мм ртутного столба
LPS331.prototype.getPressureHq = function() {
  var baro = this.getPressure() / 5460.8691;
  return baro;
};

// Метод возвращает идентификатор устройства
LPS331.prototype.whoAmI = function() {
  return this.read(0x0F)[0];
};

// Экспортируем класс
exports.connect = function (i2c, address) {
  return new LPS331(i2c, address);
};
<commit_msg>experiment<commit_after>/**
 * Класс для работы с датчиком давления 
 */
// Инициализация класса
var LPS331 = function(i2c, address) {
  this.__i2c = i2c;
  address === undefined ? this.__address = 0x5C : this.__address = address;
};

// Метод записывает данные data в регистр reg
LPS331.prototype.write = function (reg, data) {
  this.__i2c.writeTo(this.__address, [reg, data]);
};

// Метод производит чтение из регистра reg количестов байт count
LPS331.prototype.read = function (reg, count) {
  if (count === undefined) {
    count = 1;
  }
  this.__i2c.writeTo(this.__address, reg | 0x80);
  return this.__i2c.readFrom(this.__address, count);
};

// Старт модуля
LPS331.prototype.init = function() {
  this.write(0x20, 0xE0);
};

// Температура в raw
LPS331.prototype.getTemp = function() {
  var data = this.read(0x2B, 2);
  var temp = data[0] | (data[1] << 8);
  if (temp >= 32767) {
    temp -= 0xFFFF;
  }
  return temp;
};

// Температура в градусах цельсия
LPS331.prototype.getTempC = function() {
  var temp = this.getTemp();
  return  42.5 + temp / 480;
};

// Давление в raw
LPS331.prototype.getPressure = function() {
  var data = this.read(0x28, 3);
  var baro = data[1] << 8 | (data[2] << 16) || data[0];
  if (baro >2147483647) {
    baro -= 0xFFFFFFFF;
  }
  return baro;
};

// Давление в миллибарах
LPS331.prototype.getPressureMilliBars = function() {
  var baro = this.getPressure() / 4096;
  return baro;
};

// Давление в паскалях
LPS331.prototype.getPressurePascal = function() {
  var baro = this.getPressure() / 4096;
  return baro;
};

// Давление в мм ртутного столба
LPS331.prototype.getPressureHq = function() {
  var baro = this.getPressure() / 5460.8691;
  return baro;
};

// Метод возвращает идентификатор устройства
LPS331.prototype.whoAmI = function() {
  return this.read(0x0F)[0];
};

// Экспортируем класс
exports.connect = function (i2c, address) {
  return new LPS331(i2c, address);
};

{'fraction_non_alphanumeric': 0.14645669291338584, 'fraction_numerical': 0.05931758530183727, 'mean_word_length': 3.6082224909310763, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4907944', 'n_tokens_mistral': 1647, 'n_tokens_neox': 1591, 'n_words': 344}