технарь |
Отправлено: 28 августа 2017 — 13:01 • Тема: Описание основного интерфейса • Форум: Rainmeter - изменяем интерфейс рабочего стола |
Ответов: 11 Просмотров: 11482
 |
Rainmeter.ini - секция [TrayMeasure]Секция [TrayMeasure] определяет свой значок для Rainmeter в области уведомлений.
По умолчанию этой секции нет в Rainmeter.ini - если нужно, вы должны создать её сами.
И наоборот - чтобы использовать штатный значок Rainmeter полностью удалите раздел [TrayMeasure].
MeasureТип объекта, который будет отображаться в виде значка в трее.
TrayMeterЗначение по умолчанию: Histogram
Способ отображения. Это может быть либо Histogram, либо Bitmap.
TrayColor1Значение по умолчанию: 0,100,0
Цвет фона для TrayMeter=Histogram.
TrayColor2Значение по умолчанию: 0,255,0
Цвет переднего плана для TrayMeter=Histogram.
TrayBitmapОпределяет путь к файлу при активизации режима TrayMeter = Bitmap.
Путь должен быть указан относительно папки Skins, например TrayBitmap = Icons\MyIcon.ico
Растровое изображение должно иметь разрешение 16x16 и может иметь любое количество кадров.
В качестве растрового изображения можно использовать отдельные файлы значков.
В имени файла можно использовать параметр %i для определения возрастающего числа, начиная от 1. К примеру, если указать TrayBitmap = tray-%i.ico, это заставит искать файлы значков с именем tray-1.ico, tray-2.ico, tray-3.ico и т. д.
Примеры:Показать загрузку процессора на иконке в трее как гистограммму.
PHP:[TrayMeasure]
Measure=CPU
Processor=1
TrayMeter=Histogram
Заменить в трее дефолтную икону на пользовательскую.
PHP:[TrayMeasure]
Measure=Calc
Formula=1
TrayMeter=Bitmap
TrayBitmap=Icons\MyIcon.ico |
технарь |
Отправлено: 28 августа 2017 — 12:14 • Тема: Описание основного интерфейса • Форум: Rainmeter - изменяем интерфейс рабочего стола |
Ответов: 11 Просмотров: 11482
 |
Rainmeter.ini - секция [Rainmeter]Секция [Rainmeter] в файле Rainmeter.ini определяет глобальные параметры программы.
Большинство из этих параметров меняются непосредственно через "Менеджер Управления"
SkinPathПуть к папке скинов.
ConfigEditorЗначение по умолчанию: Notepad
Определяет путь к текстовому редактору, используемому для редактирования файлов конфигурации Rainmeter, когда в контекстном меню или в режиме управления выбрано «Редактировать скин» или «Изменить настройки». Рекомендуется использовать простое приложение для редактирования текста, к примеру Notepad, Notepad++ Sublime Text или и крайне не рекомендуется использовать текстовые процессоры типа Word или Wordpad. Здесь можно использовать относительные пути, которые могут быть полезны в случае мобильной установки.
TrayIconЗначение по умолчанию: 1
Установка значения в 0 удалит значок Rainmeter из области уведомлений (трея). Однако, если все скины будут выгружены, значок в зоне уведомлений появится независимо от этой настройки, чтобы избежать ситуации, когда вы вообще не можете взаимодействовать с Rainmeter.
TrayExecuteM, TrayExecuteR, TrayExecuteDM, TrayExecuteDRДействие, которое будет выполнено при нажатии или двойном щелчке по кнопкам средней или правой кнопки мыши на значке области уведомлений. При щелчке левой кнопкой мыши значок всегда будет загружать диалоговое окно «Менеджера». Следует иметь ввиду, что TrayExecuteR переопределит обычно отображаемое контекстное меню. Что бы вызвать штатное меню - удерживайте CTRL и щелкните правой кнопкой мыши.
DesktopWorkAreaОпределяет область для максимально развернутых окон. С несколькими мониторами используйте DesktopWorkArea@N (где N - номер монитора), чтобы установить рабочую область монитора. DesktopWorkArea и DesktopWorkArea@0 представляют собой основной монитор. Примечание: перемещение панели задач приведет к сбросу рабочей области Windows на значение по умолчанию, так как будет изменение разрешения экрана.
DesktopWorkAreaTypeЗначение по умолчанию: 0
Если установлено значение 1, DesktopWorkArea будет определять поля относительно краев экрана. Например с DesktopWorkAreaType = 0 и DesktopWorkArea = 10,20,600,500 максимальные окна будут использовать область размером 600x500 пикселей, которая будет отстоять на 10 пикселей слева и 20 пикселей с верхней части экрана. С DesktopWorkAreaType = 1 и DesktopWorkArea = 10,20,30,40 размер для максимизированных окон будет отстоять на 10 пикселей слева, 20 пикселей сверху, 30 пикселей справа и 40 пикселей от нижней части экрана.
LoggingЗначение по умолчанию: 0
Если установлено значение 1, протокол будет записываться в файл.
DebugЗначение по умолчанию: 0
Если установлено значение 1, будет вестись более детальное протоколирование. Используйте Debug = 1 только при необходимости, так как это снижает производительность.
DisableVersionCheckЗначение по умолчанию: 0
Если установлено значение 1, проверка новых обновлений будет отключена.
DisableDraggingЗначение по умолчанию: 0
Если установлено значение 1, запрещается перетаскивание скинов мышью. |
технарь |
Отправлено: 27 августа 2017 — 23:53 • Тема: Описание основного интерфейса • Форум: Rainmeter - изменяем интерфейс рабочего стола |
Ответов: 11 Просмотров: 11482
 |
НастройкиВ этом разделе будут описаны файлы и папки, в которых сохраняются параметры Rainmeter и скинов. К ним относятся положение каждого скина на экране, прозрачность, возможность перетаскивания, активность, «привязка к краям экрана» и другие общие параметры. Обычно пользователю не нужно напрямую редактировать эти файлы. Большинство настроек можно изменить с помощью диспетчера или контекстного меню.
Следует иметь ввиду, что многие скины обладают функциями, которые заложил в них программист и которые описываются как «настройки», «параметры», «опции». Эти функции позволяют пользователю настраивать внешний вид и поведение скина, однако они отличаются от «настроек», описанных в этом разделе. Они полностью контролируются кодом скина, обычно существуют как переменные, и вообще говоря не управляются Rainmeter. В категорию таких параметров можно отнести шрифты, цвета, пароли, RSS-каналы и т.д.
Файлы и папкиВсе файлы настроек Rainmeter хранятся в папке данных приложения Rainmeter. Если Rainmeter установлен штатно, то по умолчанию эта папка находится:
code:C:\Users\YourName\AppData\Roaming\Rainmeter
Если же Rainmeter установлен как мобильное приложение, то файлы настроек находятся в папке установки.
Rainmeter.iniБольшинство настроек сохраняются в файле Rainmeter.ini. Файл записывается как стандартный INI-файл, который использует следующий формат:
Каждый ключ является опцией, которая изменяет свойство, указанное в названии раздела. В Rainmeter.ini используются следующие разделы:
[Rainmeter] - Определяет глобальные параметры Rainmeter.
[Skin] - Определяет параметры, относящиеся к отдельным скинам. Каждый скин идентифицируется по его имени конфигурации.
[TrayMeasure] - Определяет параметры, которые изменяют внешний вид значка Rainmeter в трее
Если настройки изменяются в Rainmeter, они автоматически применяются и сохраняются в Rainmeter.ini. Если же настройки изменены в Rainmeter.ini, для их применения потребуется перезапустить приложение.
Другие файлы
Rainmeter.data
Этот файл используется программой Rainmeter и некоторыми плагинами для хранения «глобальных» настроек, не связанных с отдельными скинами. Это системные или пользовательские настройки, которые не включаются в макеты.
Rainmeter.stats
Этот файл записывает статистику использования сети Windows. Эти статистические данные используются средствами Net для отображения «совокупных» данных об использовании сети. Содержимое Rainmeter.stats можно очистить, используя команду !ResetStats.
NewSkin.template
Этот файл содержит шаблон для нового скина, который используется при нажатии в "Панели Управления" кнопки "Создать новый скин". Данные этого файла можно отредактировать по своему желанию.
Layouts
Макет (ранее тема) является сохраненным «сеансом» или «состоянием». Пользователь может создать макет с помощью Менеджера, который скопирует настройки Rainmeter.ini в файл макета. Эти настройки могут быть позже восстановлены с помощью Менеджера или при помощи команды !LoadLayout. Глобальные параметры в разделе [Rainmeter] не заменяются при загрузке макета, сохраняя локальные настройки. Это настройки:
ConfigEditor
SkinPath
DisableVersionCheck
Language
Plugins
В эту папку устанавливаются пользовательские плагины. Плагины в этой папке могут использоваться так же, как стандартные плагины, включенные в Rainmeter.
Addons
В эту папку могут быть установлены сторонние утилиты «addon», такие как RainRGB. Это устаревшая функция. Начиная с Rainmeter 2.3, каждый скин или набор должен включать свои собственные аддоны в папке @Resources. |
технарь |
Отправлено: 16 августа 2017 — 18:21 • Тема: Новости дня • Форум: Всё подряд |
Ответов: 272 Просмотров: 71159
 |
topinant
Как думаете - последний скандал в Беседке это случайность? |
технарь |
Отправлено: 31 июля 2017 — 01:45 • Тема: Новости дня • Форум: Всё подряд |
Ответов: 272 Просмотров: 71159
 |
Я сначала до Ржаксы, а оттуда уже рукой подать. Хотя непосредственно к месту неплохо бы встретить. Вы же помните, как я умудряюсь на ровном месте заблудиться.  |
технарь |
Отправлено: 29 июля 2017 — 23:49 • Тема: Новости дня • Форум: Всё подряд |
Ответов: 272 Просмотров: 71159
 |
Farmer
Заедем на пути туда - зачем мне всё это к морю везти.  |
технарь |
Отправлено: 28 июля 2017 — 10:32 • Тема: Новости дня • Форум: Всё подряд |
Ответов: 272 Просмотров: 71159
 |
Farmer
В понедельник выдвигаюсь на машине в отпуск. Для вас приготовил другой комп с платой видеозахвата. Могу прихватить кое что из другого старого железа. Есть пара-тройка рабочих материнок класса Пентиум3-Пентиум4, память под них и пару HDD на 80 Гб. Так же валяется ненужная сетевая плата и куча старых видеокарт AGP. Если ничего из этого уже не нужно - пишите, что бы я в пустую это не тащил. |
технарь |
Отправлено: 16 июля 2017 — 12:43 • Тема: Ищем утечку воздуха в надувной кровати. • Форум: Всё подряд |
Ответов: 1 Просмотров: 907
 |
Через две недели собираюсь в отпуск. Беру с собой палатку и надувную кровать. Но вот беда - в кровати где-то есть утечка которую я уже который год не могу найти. В этот раз решил подойти к этому вопросу серьёзно...
Поиск утечек может быть подобен поиску иголки в стоге сена. Для начала решил убедиться в исправности клапанов. Сделать это не составляет труда, т.к. клапанов не много и зная их расположение легко просто "притопить" это место в воде.
У меня клапана оказались исправны, а воздух из кровати всё равно уходил. Вот тут и начинается самое интересное.
Первой мыслью было попробовать слегка накачав кровать погрузить её в воду, но такой способ подходит для маленького экземпляра. Однако у меня большая двухместная надувная кровать, которая к тому же имеет ворсяное покрытие. Одномоментно запихнуть её в ванну не получается, а запихивать по чуть чуть - сущее мучение. Плюс ко всему ворсяное покрытие приводит к тому, что вся поверхность моментально покрывается пузырьками... Короче я помучился и плюнул.
Следующий подход заключался в попытке намазать накачанную кровать мыльным раствором и по появлению пузырей определить место утечки. В процессе поиска понял, что попытка использовать для этих целей неразбавленное средство для мытья посуды было ошибкой - средство нужно разбавить водой иначе оно плохо пенится. В конце концов данный способ дал нужный эффект - нашёл два крошечных пореза. Порезы заклеил, кровать накачал, но утечка осталась. Попробовал повторить процедуру с мыльным раствором и в процессе поиска наткнулся на ещё один способ.
Оказывается мокрая рука может служить замечательным индикатором утечки воздуха. Если мокрой открытой ладонью медленно провести над местом утечки, то ладонь явно чувствует холод. Я туго накачал кровать, поставил её вертикально и мокрой ладонью начал медленно как миноискателем проводить над её поверхностью. Через пол часа были найдены ещё 5 новых утечек, причем две из них даже визуально не определяются (глазом не видно повреждения покрытия, но ладонь над этим местом чувствует холод). Поставил заплаты на найденные места и результат меня вполне удовлетворил - теперь кровать сутки держит воздух, что мне более чем достаточно.
Считаю способ с "мокрой ладонью" наиболее эффективным, т.к. для его реализации вообще ничего особого не нужно. Единственное ограничение - делать это желательно в помещении при закрытых окнах, т.к. наличие сквозняков может сильно затруднить процесс поиска. |
технарь |
Отправлено: 1 июля 2017 — 20:05 • Тема: Embedded Workbench for ARM. Учебный курс. Создание проекта. • Форум: Arduino - простая работа с микроконтролером |
Ответов: 2 Просмотров: 4069
 |
А это другая статья по тому же вопросу...
С течением времени всегда кажется, что у соседа трава зеленее.
В смысле, компилятор круче, проще, удобней и оптимизирует лучше.
Начнём с IAR Embedded Workbench IDE for AVR - посмотрим, как хотя бы запустить в нем проект.
Будем рассматривать язык С - без плюсов - поэтому уясним, что никаких ссылок "at" и битовых переменных тут не используется.
Теперь наш удел - это выражения типа "portLight |= 1 << _Light;" и "portButton &= ˜(1 << _Button);", где выражение типа "x |= a" заменяет длинную запись "x = x | a".
Ещё тут много всяких кнопочно-галочных настроек, которые не совсем очевидны, но без них не работает >_<
Поэтому щёлкаем "Project -> Options...":
Во вкладке "General options" - "Target" определяем конфигурацию процессора - справа от текстового поля есть кнопочка
В "General options" - "System" есть крайне важная и крайне незаметная галочка "Enable bit definitions in I/O-Include files" - поставим её, и будет нам счастье: компилятор будет понимать не только названия регистров, но и названия битов регистров. То есть можно будет писать примерно так: "GICR |= 1 << INT0; //разрешаем внешнее прерывание INT0", и имена 'GICR' и 'INT0' будут распознаны.
//В "C/C++ Compiler" - "Language 1" ставим галочку "Multi-file Compilation" - поговаривают, что так лучше О_о
Во вкладке "C/C++ Compiler" - "Optimizations" можно поставить высокий уровень оптимизации, и объем выходного файла будет уменьшаться. Теоретически, по крайней мере.
В "Linker" - "Output" ставим галочку "Override default" и в текстовом поле пишем расширение .hex; можно вообще написать "$PROJ_FNAME$.hex" - тогда автоматом будет проставляться название проекта. Ниже, в области "Format" выбираем "Other" - "intel-standard"
После этого все должно быть хорошо)
Едем дальше - для написания любой программы нам потребуются несколько библиотек. Чтобы их подключить, используем директиву include:
code:#include <имя_файла.h>
#include "имя_файла.h"
Угловые скобки указывают компилятору, что подключаемые файлы нужно сначала искать в стандартной папке "IAR\avr\inc", а кавычки - что нужно начинать поиск с директории, в которой хранится проект.
При этом для каждого типа микроконтроллера нужно подключать свой заголовочный файл (для ATmega8 - iom8.h, для ATtiny2313 - iotiny2313.h и т.д.), но в принципе, можно подключить общие заголовочные файлы ioavr.h и inavr.h, а препроцессор уже сам разберется, что к чему - в зависимости от настроек программы.
Также в этом компиляторе будет куча define-ов - чтобы переобозвать регистры управления портов (DDRx, PORTx, PINx) - пользоваться указателями на unsigned char, как в MikroC, не получится - и на самом деле непонятно, что даже лучше) Маленький экскурс: в языке Си есть такая вещь, как препроцессор. Он способен изменить код до компиляции и работает с директивами #include, #define, #if, #ifdef и так далее.
Когда мы пишем #define three 3, то дальше препроцессор перед компиляцией заменит в программе все "three" на "3"
О насущном и обычно необходимом: где-то запрятана функция __delay(value), которая работает с миллисекундами - она есть в справке, но найти библиотеку, где она лежит, я так и не смогла - зато есть функция __delay_cycles(unsigned long int), которая работает с тактами - лежит в библиотеке "intrinsics.h" - "inavr.h" тоже на неё ссылается. Чтобы получить нужное количество секунд, надо умножить это количество на частоту в герцах.
code:#define CPUfreq_MHz 8
#define delayLight_mc 300
//определяем функцию задержки в мс
void delay_ms(unsigned long time)
{
long i;
for(i = 0; i < time; i++)
__delay_cycles(CPUfreq_MHz * 1000);
}
Для примера представлена программа, мигающая светодиодиком:
code://программа для attiny2313; светодиод на выводе B.0 мигает (подключаем длинную ножку светодиода к микросхеме, короткую - через резистор на землю)
#include "ioavr.h"
#include "inavr.h"
//частота работы процессора в МГц (!)
#define CPUfreq_MHz 8
//вывод для светодиода B.0
#define ddrLight DDRB
#define portLight PORTB
unsigned char _Light = 0;
#define delayLight_mc 300
//определяем функцию задержки в мс
void delay_ms(unsigned long time)
{
long i;
for(i = 0; i < time; i++)
__delay_cycles(CPUfreq_MHz * 1000);
}
void main(void)
{
//инициализация порта, где будет мигать лампочка
portLight = 0;
ddrLight = 0;
//инициализация светодиодика - на выход и в 1
portLight |= 1 << _Light;
ddrLight |= 1 << _Light;
while(1)
{
delay_ms(delayLight_mc); //задержка
portLight &= ˜(1 << _Light); //ножку в ноль - светодиод не горит
delay_ms(delayLight_mc); //задержка
portLight |= 1 << _Light; //ножку в единицу - светодиод горит
}
} |
|