Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translation of all comments #91

Merged
merged 3 commits into from
Sep 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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