Skip to content

Commit

Permalink
Merge pull request #91 from kekcheburec/master
Browse files Browse the repository at this point in the history
Translation of all comments
  • Loading branch information
kekcheburec authored Sep 17, 2021
2 parents 2e15a03 + 49095e8 commit ca5b4a5
Show file tree
Hide file tree
Showing 20 changed files with 177 additions and 244 deletions.
94 changes: 27 additions & 67 deletions modules/@amperka/Sim900r.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@ var Sim900r = function(options) {

var self = this;

/**
* Настройка триггера пина статуса
*/
// Configuring a status pin trigger
pinMode(this._statusPin, 'input_pulldown');
setWatch(
function(e) {
Expand All @@ -41,11 +39,9 @@ var Sim900r = function(options) {
}
);

/**
* При поступлении данные на порт, суммируем их в буффер
* и разделяем по переходу на новую строку, после чего
* обрабатываем их построчно.
*/
// When the data arrives at the port,
// we sum them up in a buffer and divide them by line break,
// after which we process them line by line.
var dataBuffer = '';
this._serial.on('data', function(data) {
dataBuffer += data;
Expand Down Expand Up @@ -93,17 +89,17 @@ Sim900r.prototype._onDataLine = function(line) {
case 'Call Ready':
this.emit('simNetwork');
break;
// Если строка равна строке запроса команды,
// то дальше будут передаваться данные
// If the string is equal to the command query string,
// then data will be transmitted further
case this._currentCommand:
this._currentCommandResponse = true;
break;
// Конец ответа на команду
// End of command response
case 'OK':
this._currentCommandResponse = false;
this._currentCommandCallback(undefined, this._currentCommandData);
break;
// Ошибка при выполнении команды
// Error while executing command
case 'ERROR':
this._currentCommandResponse = false;
this._currentCommandCallback(new Error('CMD Error'));
Expand All @@ -117,43 +113,33 @@ Sim900r.prototype._onDataLine = function(line) {
}
};

/*
* Стук к пину включения/выключения
*/
// Knock on the on/off pin
Sim900r.prototype.power = function() {
digitalPulse(this._powerPin, 1, 1000);
};

/**
* Включение модуля
*/
// Enabling the module
Sim900r.prototype.powerOn = function() {
if (!this.isReady()) {
this.power();
}
};

/**
* Выключение модуля
*/
// Выключение модуля
Sim900r.prototype.powerOff = function() {
if (this.isReady()) {
this.power();
}
};

/**
* Состояние готовности к взаимодейтвию
*/
// Interoperability state
Sim900r.prototype.isReady = function() {
return !!digitalRead(this._statusPin);
};

/**
* Вызов команды
*/
// Command call
Sim900r.prototype.cmd = function(command, callback) {
// Нельзя отправлять новую команду, пока данные от предыдущей не получены
// You can not send a new command until data from the previous one has not been received
if (!this.isReady()) {
callback(new Error('powerOff'));
} else if (!this._currentCommandResponse) {
Expand All @@ -171,9 +157,7 @@ Sim900r.prototype.cmd = function(command, callback) {
}
};

/**
* Отправка СМС на номер
*/
// Sending SMS to the number
Sim900r.prototype.smsSend = function(phone, text, callback) {
var serial = this._serial;
this.cmd('AT+CMGS="' + phone + '"', callback);
Expand All @@ -182,9 +166,7 @@ Sim900r.prototype.smsSend = function(phone, text, callback) {
}, 500);
};

/**
* Получение списка SMS
*/
// Retrieving SMS List
Sim900r.prototype.smsList = function(callback) {
var self = this;
this.cmd('AT+CMGF=1', function(error) {
Expand All @@ -207,9 +189,7 @@ Sim900r.prototype.smsList = function(callback) {
});
};

/**
* Чтение СМС с SIM-карты
*/
// Reading SMS from a SIM card
Sim900r.prototype.smsRead = function(index, callback) {
var self = this;
this.cmd('AT+CMGR=' + index, function(error, result) {
Expand All @@ -221,9 +201,7 @@ Sim900r.prototype.smsRead = function(index, callback) {
});
};

/**
* Удаление СМС с SIM-карты
*/
// Removing SMS from SIM-card
Sim900r.prototype.smsDelete = function(index) {
var command = 'AT+CMGD=' + index;
if (index === 'all') {
Expand All @@ -234,58 +212,42 @@ Sim900r.prototype.smsDelete = function(index) {
});
};

/**
* Набор номера
*/
// Dialing a number
Sim900r.prototype.call = function(phone, callback) {
this.cmd('ATD' + phone + ';', callback);
};

/**
* Ответ на входящий звонок
*/
// Answering an incoming call
Sim900r.prototype.answer = function(callback) {
this.cmd('ATA', callback);
};

/**
* Разрыв соединения
*/
// Break the connection
Sim900r.prototype.cancel = function(callback) {
this.cmd('ATH0', callback);
};

/**
* Отправка USSD команды
*/
// Sending a USSD command
Sim900r.prototype.ussd = function(phone, callback) {
this.cmd('AT+CUSD=1,"' + phone + '"', callback);
};

/**
* Оператор SIM-карты
*/
// SIM card operator
Sim900r.prototype.netProvider = function(callback) {
this.cmd('AT+CSPN?', callback);
};

/**
* Оператор, в сети которого зарегистрирована SIM-карта
*/
// Operator in whose network the SIM card is registered
Sim900r.prototype.netCurrent = function(callback) {
this.cmd('AT+COPS?', callback);
};

/**
* Статус регистрации в сети
*/
// Online registration status
Sim900r.prototype.netStatus = function(callback) {
this.cmd('AT+CREG?', callback);
};

/**
* Качество приема сигнала
*/
// Signal reception quality
Sim900r.prototype.netQuality = function(callback) {
this.cmd('AT+CSQ', callback);
};
Expand Down Expand Up @@ -332,9 +294,7 @@ Sim900r.prototype.getCallerID = function(callback) {
this.cmd('AT+CLIP?', callback);
};

/**
* Методы обработки ответов
*/
// Response processing methods

Sim900r.prototype.parseSMS = function(fLine, lLine, index) {
var data = fLine.split('"');
Expand Down
28 changes: 14 additions & 14 deletions modules/@amperka/accelerometer.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
// Инициализация класса
// Class initialization
var LIS331DLH = function(i2c, address) {
this._i2c = i2c;
address === undefined ? (this._address = 0x18) : (this._address = address);
this._sensitivity = 2 / 32767;
};

// Значение ускорения свободного падения
// The value of the acceleration of gravity
LIS331DLH.prototype.G = 9.81;

// Метод записывает данные data в регистр reg
// The method writes data to the reg register
LIS331DLH.prototype.writeI2C = function(reg, data) {
this._i2c.writeTo(this._address, [reg, data]);
};

// Метод производит чтение из регистра reg количестов байт count
// The method reads from the reg register the number of bytes count
LIS331DLH.prototype.readI2C = function(reg, count) {
if (count === undefined) {
count = 1;
Expand All @@ -22,7 +22,7 @@ LIS331DLH.prototype.readI2C = function(reg, count) {
return this._i2c.readFrom(this._address, count);
};

// Метод включает акселерометр
// Method includes accelerometer
LIS331DLH.prototype.init = function(opts) {
// Normal power, 50Hz, enable X, Y, Z;
var config20 = 0x27; /* 00100111 */
Expand All @@ -42,13 +42,13 @@ LIS331DLH.prototype.init = function(opts) {

if (opts !== undefined && opts.highPassFilter !== undefined) {
if (opts.highPassFilter === 8) {
config21 = 0x10; /* 00010000 */
config21 = 0x10; // 00010000
} else if (opts.highPassFilter === 16) {
config21 = 0x11; /* 00010001 */
config21 = 0x11; // 00010001
} else if (opts.highPassFilter === 32) {
config21 = 0x12; /* 00010010 */
config21 = 0x12; // 00010010
} else if (opts.highPassFilter === 64) {
config21 = 0x13; /* 00010011 */
config21 = 0x13; // 00010011
}
}
this.writeI2C(0x21, config21);
Expand All @@ -58,18 +58,18 @@ LIS331DLH.prototype.init = function(opts) {
this._sensitivity = 2 / 32767;
if (opts !== undefined && opts.maxAccel !== undefined) {
if (opts.maxAccel === 4) {
config23 = 0x11; /* 00010001 */
config23 = 0x11; // 00010001
this._sensitivity = 4 / 32767;
}
if (opts.maxAccel === 8) {
config23 = 0x31; /* 00110001 */
config23 = 0x31; // 00110001
this._sensitivity = 8 / 32767;
}
}
this.writeI2C(0x23, config23);
};

// Метод возвращает массив показаний акселерометра
// The method returns an array of accelerometer readings
LIS331DLH.prototype.read = function(units) {
var d = this.readI2C(0x28, 6);
// reconstruct 16 bit data
Expand Down Expand Up @@ -105,12 +105,12 @@ LIS331DLH.prototype.read = function(units) {
return res;
};

// Метод возвращает идентификатор устройства
// The method returns the device identifier
LIS331DLH.prototype.whoAmI = function() {
return this.readI2C(0x0f)[0];
};

// Экспортируем класс
// Exporting the class
exports.connect = function(i2c, address) {
return new LIS331DLH(i2c, address);
};
5 changes: 2 additions & 3 deletions modules/@amperka/barometer.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/**
* Pressure sensor class
*/
// Pressure sensor class

// Class initialization
var Barometer = function(opts) {
opts = opts || {};
Expand Down
2 changes: 1 addition & 1 deletion modules/@amperka/bluetooth.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ HC05.prototype.command = function(cmd, callback) {
this._buffer = '';
var timeout = 0;
var self = this;
// Запускать выполнение команды можно только через секунду после старта
// You can run the command only a second after the start
if (getTime() - this._lastDataTime < 1) {
timeout = this._commandDelay + 1 - (getTime() - this._lastDataTime) * 1000;
}
Expand Down
2 changes: 1 addition & 1 deletion modules/@amperka/button.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ var Button = function(pin, opts) {
});
};

/* Deprecated: use `isPressed` intead */
// Deprecated: use `isPressed` intead
Button.prototype.read = function() {
return this.isPressed() ? 'down' : 'up';
};
Expand Down
11 changes: 3 additions & 8 deletions modules/@amperka/card-reader.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ var CardReader = function(opts) {
} else {
E.connectSDCard(opts.spi, opts.cs);
}
// Некоторые модели SD-карт начинают рагировать только со
// второго запроса. Делаем холостой перебор корневой директории,
// чтобы “прогреть” карту в таких случаях
// Some models of SD cards start responding only from the second request.
// We do an idle search of the root directory to “warm up” the map in such cases
this._fs.readdirSync();
};

Expand All @@ -21,11 +20,7 @@ CardReader.prototype.appendFile = function(fileName, data) {
};

CardReader.prototype.pipe = function(source, destination, options) {
return this._fs.pipe(
source,
destination,
options
);
return this._fs.pipe(source, destination, options);
};

CardReader.prototype.readRandomFile = function(path) {
Expand Down
6 changes: 3 additions & 3 deletions modules/@amperka/current.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ ACS712.prototype.readEffective = function(period, units) {
sqrSum += value * value;
}

// Исходная формула — действующее значение переменного тока в интегральном виде.
// Преобразована для дискретного вида, и упрощена по свойству дистрибутивности
// умножения.
// The initial formula is the rms value of the alternating current in integral form.
// Transformed for discrete form, and simplified by the property of
// distributiveness of multiplication
var I = Math.sqrt(
(sqrSum * this._dividerSQR + this._sumKoef * sum) / numberOfMeasurements +
this._constSQR
Expand Down
Loading

0 comments on commit ca5b4a5

Please sign in to comment.