Скорее всего, пробивается из-за защелкивания выходного каскада. В таком случае супрессор не поможет (точнее, похоже, но его нужно уж очень точно подбирать), зато помогут вилки из диодов Шоттки с выходов на землю и питание.
Ты в каждой статье их объявляешь. Пора уже вынести куда-нибудь.
//общее количество разрядов индикатора
#define LEDDIGITS 4
Если ты уже испольуешь класс, то он не должен имет таких вот явных внешних зависимостей, особенно, дефайнов. Намного лучше при создании класса указать, сколько у индикатора будет сегментов. Правильнее всего это сделать шаблонами:
template <uint8 SegmentCount> class SegmentDisplay
// а потом сделать тайпдеф для своего индикатора:
typedef SegmentDisplay<4> RlnSegmentDisplay
Это хоть и правильно, но сложно и не нужно. Ведь в текущей реализации нельзя использовать несколько индикаторов. В итоге, у тебя два варианта — вынести весь код, который специфичен для твоего индикатора в отдельные методы и в своей реализации переопределять их:
class SegmentIndicatorBase
{
protected:
virtual int segmentCount() = 0 const;
....
};
class RlnSegmentIndicator : protected SegmentIndicatorBase
{
protected:
virtual int segmentCount() { return 4; };
....
};
Либо просто забить и прописать 4 константой в классе.
void Init(uint8_t _Base);//функция инициализации
Всегда радовали такие комментарии :)
мне не удалось передать указатель на эту функцию ни изнутри класса, ни снаружи
Указатель на метод класса называется «делегат». Фишка в том, что чтобы вызвать метод класса нужно не просто его вызвать, но еще и передать ему указатель на данные класса. Поэтому твой хак — вполне нормальная штука.
BUTTONSSETUP;
Такого вообще лучше не делать. Совсем не понятно, что это.
uint16_t UIntPow(uint16_t _data, uint8_t _pow){//Возведение целого числа в степень
Ты извини, но функция гениальна. Напиши лучше просто таблицу
Мне кажется, что функции типа «вывод информации на индикатор» неплохо бы оформить в качестве библиотеки. Потому, что когда читаешь статью про энкодер, кусок кода для вывода на индикатор как-то не в тему смотрится.
Генератор автоматически включаться/выключаться не умеет потому, что нет автоматического ввода резерва и микроконтроллер тут не поможет. А покупать контакторы и лепить еще один щиток я морально не готов.
И у меня второй ответ вытекает из первого :) Звонок зазвонил — а выключать или нет генератор решает уже человек. Такой себе биологический таймер.
Это — один из классических вариантов реализации диспетчера. Беда такого подхода в том, что если функция не отдаст управления в течении 10мс, вся система умрет.
Есть намного более простая и легкая реализация подобного диспетчера, называется она "протопотоки".
Но диспетчер в качестве счетчика — это все равно, круто :)
\\.\ — это именованные пайпы. Фактически, \\.\COM17 — это виртуальный файл, с которым можно работать обычными функциями WinApi, но при записи данных туда, они будут переданы в com-порт.
Насчет git согласен, но вот SVN, хоть и старый, очень широко используется в корпоративной среде (по факту, 90% компаний, которые я знаю, используют SVN). Это связано с тем, что SVN уже внедрен, а что-то новое внедрять компаниям — довольно проблематично. Так и живут.
Крутая штуковина. Только, боюсь, шаговик рычать будет не в тему. Я вот тоже хочу что-то на новый год соорудить. Но, думаю, просто времени не хватит.
Насчет стабилизатора тока — ты попробуй не замедлять выход стабилизатора, а ускорять обратную связь. Это можно сделать, поставив в разрыв провода Vfb параллельную RC цепочку. И да, идейно правильнее было бы подмешивать выход контроллера в напряжение ОС, а не дергать Enable. Тогда отсутствовал бы ШИМ-эффект.
Кроме того, восприятие яркости у человека логарифмическое, поэтому и ШИМить нужно экспоненциально. К примеру, ШИМ=16 всего в два (а не в 4) раза ярче, чем ШИМ=4.
То что ЖКшник не планируется выносить, не значит, что до него не достанут помехи. Ты ведь делаешь платку для боевого применения в электро-делах (насколько я понял). А в поле разные контакторы, двигатели да частотники водятся. Помех столько, что хорошо, если дисплей выгорать не будет, не говоря уже о том, чтобы что-то дернуло ножку.
Протокол 4х проводной шины крайне дурной — невозможно определить какой части байта ждет сейчас дисплей. Таким образом, одна иголка на шине и все, индикация потеряна. Та-же иголка, к примеру, на ethernet вызовет просто несовпадение CRC и повторную передачу пакета.
Блог проекта создал, ждем развития :)
Насколько я понимаю (я не мега-SEO-спец), копипастой считается любой текст, который раньше был в интеренете. Проблема в том, что поисковики видят это и, понижают рейтинг сайта который копипастит (в данном случае, этого). Но, думаю, можно не заморачиваться. В конечном итоге, сайт не для поисковиков, а для людей :)
Ты в каждой статье их объявляешь. Пора уже вынести куда-нибудь.
Если ты уже испольуешь класс, то он не должен имет таких вот явных внешних зависимостей, особенно, дефайнов. Намного лучше при создании класса указать, сколько у индикатора будет сегментов. Правильнее всего это сделать шаблонами:
Это хоть и правильно, но сложно и не нужно. Ведь в текущей реализации нельзя использовать несколько индикаторов. В итоге, у тебя два варианта — вынести весь код, который специфичен для твоего индикатора в отдельные методы и в своей реализации переопределять их:
Либо просто забить и прописать 4 константой в классе.
Всегда радовали такие комментарии :)
Указатель на метод класса называется «делегат». Фишка в том, что чтобы вызвать метод класса нужно не просто его вызвать, но еще и передать ему указатель на данные класса. Поэтому твой хак — вполне нормальная штука.
Такого вообще лучше не делать. Совсем не понятно, что это.
Ты извини, но функция гениальна. Напиши лучше просто таблицу
Ну, это — для начала :)
По идее, должно быть что-то типа такого:
Какой код? Что за предназначение?
И у меня второй ответ вытекает из первого :) Звонок зазвонил — а выключать или нет генератор решает уже человек. Такой себе биологический таймер.
Есть намного более простая и легкая реализация подобного диспетчера, называется она "протопотоки".
Но диспетчер в качестве счетчика — это все равно, круто :)
Крутая штуковина. Только, боюсь, шаговик рычать будет не в тему. Я вот тоже хочу что-то на новый год соорудить. Но, думаю, просто времени не хватит.
Насчет стабилизатора тока — ты попробуй не замедлять выход стабилизатора, а ускорять обратную связь. Это можно сделать, поставив в разрыв провода Vfb параллельную RC цепочку. И да, идейно правильнее было бы подмешивать выход контроллера в напряжение ОС, а не дергать Enable. Тогда отсутствовал бы ШИМ-эффект.
Кроме того, восприятие яркости у человека логарифмическое, поэтому и ШИМить нужно экспоненциально. К примеру, ШИМ=16 всего в два (а не в 4) раза ярче, чем ШИМ=4.
Протокол 4х проводной шины крайне дурной — невозможно определить какой части байта ждет сейчас дисплей. Таким образом, одна иголка на шине и все, индикация потеряна. Та-же иголка, к примеру, на ethernet вызовет просто несовпадение CRC и повторную передачу пакета.
Блог проекта создал, ждем развития :)
Насколько я понимаю (я не мега-SEO-спец), копипастой считается любой текст, который раньше был в интеренете. Проблема в том, что поисковики видят это и, понижают рейтинг сайта который копипастит (в данном случае, этого). Но, думаю, можно не заморачиваться. В конечном итоге, сайт не для поисковиков, а для людей :)