четверг, 27 ноября 2014 г.

Если AcrobatReader не открывает PDF, созданный pdflatex

Иногда бывает, что PDF, который создаёт pdflatex потом не открывается в AcrobatReader. Особенно часто это происходит с AcrobatReader старых версий. Если получился такой PDF, то его можно исправить используя GhosScript. Нужно прогнать PDF через следующую команду:

gs -sOutputFile=output.pdf -sDEVICE=pdfwrite -dNOPAUSE -dBATCH наш_проблемный_файл.pdf

Если ещё при этом нужно преобразовать PDF в чёрно-белый, то команду нужно видоизменить следующим образом:

gs -sOutputFile=output.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray  -dNOPAUSE -dBATCH наш_проблемный_файл.pdf

Ещё данный способ помогает если PDF не принимают некоторые глупые системы приёма статей в некоторых журналах.

четверг, 16 октября 2014 г.

Использование MSP430-Launchpad в качестве программатора

Руководство предназначено тем, кто уже имеет MSP430-Launchpad, освоил микроконтроллеры MSP430-ValueLine и задумывается о том, чтобы перейти на более продвинутые МК MSP430, но пока не решился на то, чтобы приобрести профессиональный программатор MSP430-JTAG или MSP430-UIF. Но это не страшно. В качестве программатора можно пока будет использовать Launchpad. Ниже я расскажу как это сделать.

воскресенье, 12 октября 2014 г.

Как подружить КОМПАС и LaTeX

КОМПАС --- это САПР для трёхмерного твёрдотельного моделирования с поддержкой ГОСТов ЕСКД из коробки. В КОМПАСе достаточно удобный 2D редактор, поэтому студенты часто его используют для рисования рисунков в курсачи. Выпускает его известная отечественная компания АСКОН.

Под катом приведён способ как экспортировать чертёж из КОМПАСа так, чтобы его можно было вставить в LaTeX. Проблема является актуальной, как показало обсуждение на dxdy.ru .

Тем не менее, если предполагается в дальнейшем использовать LaTeX для написания статей и т.п., а не сдать курсач/диплом и забыть про него, то данный способ использовать НАСТОЯТЕЛЬНО НЕ РЕКОМЕНДУЕТСЯ! Нужно освоить профессиональное ПО для подготовки publication-ready графики: Inkscape, TikZ, Metapost и т.п.

воскресенье, 17 августа 2014 г.

Дополнительные режимы работы АЦП в MSP430. Часть 2.

Это руководство посвящено многоканальному режиму АЦП в микроконтроллере MSP430G2553 на плате Launchpad. В предыдущей части был рассмотрен одноканальный режим АЦП с прямым доступом к памяти DMA. Точно так же можно использовать АЦП и во многоканальном режиме. АЦП будет автоматически пересылать результаты преобразования со всех каналов на заданный адрес в памяти. В этом процессе ядро микроконтроллера не задействовано и может заниматься другими делами (например расчётами). Операции с АЦП выполняются как бы в отдельном потоке. Таким образом реализуется примитивная аппаратная многозадачность. Как это сделать рассмотрено под катом.

вторник, 5 августа 2014 г.

Дополнительные режимы работы АЦП в MSP430. Часть 1.

В этой части рассказывается о том как запустить АЦП на плате Launchpad и воспользоваться продвинутыми режимами работы АЦП: одноканальным многократным и многоканальным многократным и взаимодействием с контроллером прямого доступа в памяти --- DMA. Благодаря этим режимам АЦП можно автоматизировать процесс аналого-цифрового преобразования, в отличие от PIC и AVR где нужно каждый раз дёргать бит в управляющем регистре, потом ждать конца преобразования и извлекать результат. Достаточно настроить АЦП один раз и потом АЦП будет автоматически пересылать результаты на нужный адрес в памяти без вмешательства со стороны пользователя. Несмотря на то, что микроконтроллер MSP430G2553, который идёт в комплекте с платой Launchpad, относится к категории бюджетных, плата позволяет получать результаты недостижимые для МК семейств PIC и AVR. О подробностях см. под кат.

Как задействовать функцию printf() в MSP430-GCC

Функция printf() бывает очень полезна при отладке различных устройств на MSP430 по UART. Ещё с помощью неё можно выводить сообщения на дисплеи и т.п. Printf() для MSP430 ничем не отличается от printf() из стандартной библиотеки С.

 Задействовать её очень просто. Нужно в любом месте программы определить функцию putchar(). В зависимости от функции putchar() будет различаться поведение функции printf(). Если putchar() выводит символ на UART, то printf() будет печать строку на UART. Если putchar() выводит символ на дисплей, то printf() напечатает строку на дисплее. Например в проекте из предыдущего поста определим функцию putchar() в файле uart.c вот так:
int putchar(int c)
{
    uart_putc(c);
    return c;
}
 
И теперь можно использовать отладочную печать на UART: Например вот так:

printf("P1.5 pin voltage = %d mV\n",mV);

воскресенье, 27 июля 2014 г.

Работа с последовательным портом из консоли Linux

В предыдущем посте было показано как запустить UART на отладочной плате Launchpad для MSP430. Теперь рассмотрим как общаться с платой при помощи средств командной строки Linux. Используется плата с прошивкой из предыдущего поста. Для подробностей - см. под кат

суббота, 26 июля 2014 г.

Запускаем UART на MSP430 Launchpad

Это рукодство посвящено тому как запустить аппаратный UART на плате MSP430-Launchpad. Мы будем рассматривать старый Launchpad для контроллеров ValueLine. Он идёт в комплекте с двумя МК: MSP430G2452 и MSP430G2553. Аппаратный UART имеется только в микроконтроллере MSP430G2553, поэтому использовать будем его. Все действия я буду выполнять для ОС Linux, поэтому используется компилятор msp430-gcc. Предполагается что читатель знаком с базовыми принципами работы с MSP430 в ОС Linux, про которые можно прочитать например в серии статей вот здесь . Итак, под катом будет пример работающего кода для коммуникации MSP430 по UART.

суббота, 8 февраля 2014 г.

Новый Draft SightV1R5.0 не открывает файлы.

Недавно вышел новый DraftSightV1R5.0. Я обновился до него и обнаружил неприятный баг. DraftSight отказывается открывать любые файлы и выдаёт сообщение об ошибке: "Не удалось открыть указанный чертежный файл.Убедитесь, что файл существует."
Потом правда оказалось, что это относится не ко всем файлам, а только к тем у которых есть в пути русские буквы. Если их переименовать/переложить так, чтобы в имени и в пути были только латинские буквы, то всё открывается отлично. Так что всем, кто обновился на новый DraftSight следует иметь это в виду и переименовать свои файлы, либо вообще не обновляться.
 

воскресенье, 1 декабря 2013 г.

Программирование PIC-контроллеров в Linux. Отвязка компилятора от MPLAB

Далее будет рассказано как организовать рабочую среду для написания программ на С для микроконтроллеров (МК) PIC18 компании Microchip.
Традиционно для программирования данных МК используется среда MPLAB и ОС Windows. С выходом MPLAB X появилась возможность разрабатывать для этих МК и под Linux. Далее будет рассказано как улучшить и ускорить процесс разработки.
Как известно, MPLAB X основан на NetBeans, которое работает на Java. Поэтому теперь MPLAB стал кроссплатформенным. Но те, кто работал со старым MPLAB'ом ощутили существенные недостатки. Мало кому новый MPLAB пришёлся по вкусу. К недостаткам MPLAB X относится прежде всего сильнейшая тормознутость. На слабых машинах новым MPLAB'ом вообще невозможно пользоваться. Нормально работающего автодополнения в MPLAB X нет. MPLAB X для Linux частенько теряет русские буквы в исходниках, хотя кодировка выставлена. Люди, работающие с PIC-контролерами предпочитают пользоваться старым 8-м MPLAB'ом. Но он есть только по Windows, а мы хотим вести разработку для PIC под Linux.
Далее предлагается способ как можно организовать разработку для PIC-контроллеров на языке С под Linux. Мы будем рассматривать серию PIC18, так как для серии PIC16 нормально работающего компилятора С не существует.


воскресенье, 3 ноября 2013 г.

DraftSight -- лицензия истекла

DraftSight  - это бесплатный клон AutoCAD'а, выпускаемый компанией DassaultSysytems, которая выпускает SolidWorks. Программа работает под Linux и Windows по скорости работы заметно быстрее AutoCAD. По интерфесу напоминает 2002-й AutoCAD. Его можно бесплатно скачать с сайта www.draftsight.com . DraftSight имеет активацию по электронной почте.

И вот недавно при запуске DraftSight сообщил мне, что "Лицензия не существует или истекла". Оказывается, это связано с тем, что вышла новая версия DraftSight, а лицензия старой версии прекращена.

Чтобы снова иметь работающую программу нужно сначала удалить DraftSight любым способом через ваш пакетный менеджер. Потом идём на http://www.3ds.com/products-services/draftsight/download-draftsight/ и качаем оттуда последнюю версию DraftSight. Скачанную rpm-ку устанавливаем любым способом и после этого имеем снова работоспособную программу.

воскресенье, 6 октября 2013 г.

Рисуем электрические схемы в LaTeX и TikZ

Иногда в LaTeX нужно нарисовать несложную электрическую схему. Далее рассказано как это сделать без привлечения стороннего ПО средствами самого LaTeX. То что будет написано далее рассчитано на тех, кто уже знаком с таким средством создания векторной для LaTeX, как TikZ. В противном случае нужно сначала ознакомиться с TikZ. Немного информации на русском языке есть тут . Те, кто уже знаком с TikZ - см. под кат.

Pdftk -- Часть 2: Автонумерация страниц при помощи LaTeX и pdftk

Как пронумеровать в страницы в PDF-документе? Это можно сделать очень просто при помощи Linux, pdftk, LaTeX и скрипта, который приведён ниже.


Pdftk - редактор pdf для командной строки. Часть 1 -- Примеры команд.

Pdftk - это утилита для командной строки, которая позволяет склеивать несколько pdf-файлов в один, разделять pdf-файл на страницы, накладывать один pdf на другой. и т.п.

Далее будут рассмотрены примеры использования pdftk, которые я наиболее часто применяю.
Если pdftk у Вас ещё не установлен, то его можно установить из стандартных репозиториев.
Например, в openSUSE нужно от имени администратора ввести в терминале команду:

  zypper in pdftk


Как использовать pdftk --- см. под кат.

вторник, 17 сентября 2013 г.

Полезные однострочники

Приведу некоторые полезные однострочники, с помощью которых можно автоматизировать ручные операции с файлами:

Настройка сетевой печати на принтер LBP2900

Ниже описано, как я настроил печать по сети из-под компьютера с openSUSE 12.2 на принтер CanonLBP2900, который подключен к компьютеру с Windows7 32bit. В этом руководстве не требуется производить никаких действий на компе с Windows.

воскресенье, 18 августа 2013 г.

Установка PsCyr

Привожу способ установки пакета pscyr для LaTeX. Пакет содержит шрифты похожие на Times New Roman и просто незаменим для подготовки тезисов на конференции, так как обычно организаторы если видят шрифт ComputerModern, стандартный для LaTeX начинают громко вопить: "Шрифт не Таймс!!!".

суббота, 17 августа 2013 г.

Пакет fontogroup - фигурные шрифты для LaTeX

Как сделать в LaTeX фигурный шрифт? Оказывается, для этого существует пакет fontogroup, который можно скачать тут . Пакет содержит множество фигурных и прочих дополнительных шрифтов для LaTex. Автор пакета --- А. Шипунов.
Дополнение от 12.07.14: Теперь я сделал зеркало fontogroup на Гитхабе, и пакет можно забрать отсюда: https://github.com/ra3xdh/fontogroup

среда, 7 августа 2013 г.

Доработка latex2rtf : проект latex2rtf - Extended

Представляю свою доработку latex2rtf (latex2rttf - Extended) --- программы для конвертации LaTeX в RTF. Как известно данное средство предназначено тем, кто писал сначала статью в LaTeX'е а потом "умный" оргкомитет конференции просит принести статью в "формате Ворд".
Проект основан на коде latex2rtf версии 1.9.15


четверг, 1 августа 2013 г.

Трансивер RA3XDH из журнала Радио №2, 2009. Часть 2. Комментарии к схеме.

Во втором номере журнала Радио за 2009 год была опубликована схема основной платы трансивера моей конструкции. За прошедшее время многие радиолюбители решили её повторить и предложили улучшенные варианты данной конструкции. Кто-то остался доволен результатом, а кто-то -- нет.

Об этом можно прочитать здесь:

на форуме медиков-радиолюбителей

на форуме свободных операторов

на форуме cqham.ru

и опять на форуме cqham.ru

А здесь можно прочитать про трансивер-конструктор Мотив-2 на основе платы из журнала.

Далее будут некоторые разъяснения по вопросам с форумов, по опечаткам в журнале про печатную плату и т.д.