Pull to refresh
27
0
Stanislav Zhelnio @SparF

Пользователь

Send message
Честно пытался вставить код в тег, но местная подсветка синтаксиса + умирающие отступы превращают его во что-то страшное и нечитаемое. Продублировал часть статьи на github.
Похожий подход к отладке видел вот здесь :
— .bat создает и удаляет каталог для всего хлама, связанного с симуляцией;
— .tcl — оперирует компиляцией, сигналами и отладкой
Я у себя добавляю только формирование строки vlog по частям (чтобы не в одну линию).
Достаточно удобно, когда руками (в интерфейсе) делать влом, а с make-файлами связываться еще не хочется.
Юрий, не рассматриваете возможность записать семинары на видео и опубликовать (в комплекте с материалами для лаб)? Было бы очень полезно, особенно для тех, кто не может присутствовать лично.
достаточно ли одной отладочной платы (из 3х перечисленных) для выполнения всех упражнений/задач? и если да, то какую лучше взять?
Продублирую ссылку (XTJ-4400 20X40X). Там на странице таблица с кучей моделей, я брал изначально ориентируясь на 20х/40х. Индекс в конце названия модели, если мне не изменяет память, обозначает форму подставки. Точно сказать не могу, т.к. упаковку/паспорт — выкинул, а на самом микроскопе вчера надпись не нашел ((.
Изначально, когда ехал покупать, хотел взять попроще и подешевле (XTX-3C, есть на том же сайте). Но решил сравнить «своими глазами». У моего XTJ-4400 «рабочая область» (или как абстрактно назвать площадь той «увеличенной» поверхности, которую зрительно наблюдаешь?) — оказалась раза в полтора-два больше, что и определило выбор. И, кстати, его, имхо, вполне удачно можно переколхозить на штатив.
Обманул я Вас… сейчас пришел домой, измерил расстояние от платы до среза объектива: около 8.5см. в сфокусированном состоянии. В основном он у меня стоит на 20х, иногда (очень редко) переключаю на 40х. Собственно, вот он (фото ниже). Стоит, правда, сейчас… как чугунный мост, но выбирая между «недовебкой» за 10.9 т.р. и нормальным бинокулярным микроскопом за 14.3 т.р. — не задумываясь взял бы последний. А чтобы шея не затекала — регулирую высоту стула, как-то получается… хотя сидеть за ним несколько часов непрерывно — пока не приходилось: дорожки проверить/подровнять после ЛУТа, посмотреть пайку, заглянуть под ножки МК...- не больше — все разовые операции.
image
На вкус и цвет все фломастеры, конечно, разные. Пробовал паять в монтажных очках, но после них сильно болят глаза. А учитывая, что и так зрение не очень (хожу в очках) — отказался от этой затеи. Что же до микроскопа, то у меня расстояние от линзы до платы около 5 см — вполне хватает для того, чтобы подлезть любым инструментом. Только вентилятор рядом ставлю, чтобы дым сдувал. Вот как раз качество-то и можно контролировать всякими видео/фото прибамбасами. Бинокулярный микроскоп же дает: ощущение объема(!) + свободные руки + подсветка. И глаза не болят.
Человек, хоть раз паявший под бинокулярным микроскопом, никогда не вернется к этой (или подобной) «полувебке». Говорю как обладатель того и другого: купил в свое время у китайцев подобную хрень (правда без экрана), так и валяется в ящике.
Тот же самый лунапарк, но с использованием аппаратного таймера, прерываний и режима энергосбережения
/*
Attiny13 Star Wars melody
*/

#define F_CPU 1200000UL
#include <avr/io.h>  
#include <avr/pgmspace.h> 
#include <util/delay.h> 
#include <avr/interrupt.h>
#include <avr/sleep.h>

#define COUNT_NOTES 39

//частоты ноты
const uint16_t frequences[COUNT_NOTES] PROGMEM = {
	392, 392, 392, 311, 466, 392, 311, 466, 392,
	587, 587, 587, 622, 466, 369, 311, 466, 392,
	784, 392, 392, 784, 739, 698, 659, 622, 659,
	415, 554, 523, 493, 466, 440, 466,
	311, 369, 311, 466, 392 };

//длительность нот
const uint16_t durations[COUNT_NOTES] PROGMEM = {
	350, 350, 350, 250, 100, 350, 250, 100, 700,
	350, 350, 350, 250, 100, 350, 250, 100, 700,
	350, 250, 100, 350, 250, 100, 100, 100, 450,
	150, 350, 250, 100, 100, 100, 450,
	150, 350, 250, 100, 750 };

int main( void )
{
	/*
	вход от кнопки (фиксирован) = PB1 , т.к. от этого порта 
	срабатывает прерывание INT0 - единственное внешнее прерывание,
	которое может пробудить контроллер из режима максимального 
	энергосбережения Power-down
	
	выход на пищалку (фиксирован) = PB0, т.к. таймер может управлять
	только пинами PB0 и PB1, последний из которых уже занят кнопкой
	*/
	
	DDRB = (1 << DDB0);		//переключить PB0 на выход
	
	/*
	по-хорошему, даже от вывода мелодии по прерыванию INT0 можно отказаться,
	если подключить кнопку на RESET: после сброса контроллер будет выполнять инициализацию,
	затем тут же проигрывать мелодию и ...уходить в режим максимального
	энергосбережения до следующего сброса
	*/
	
	PORTB = (1 << PORTB1);	//включить подтяжку на PB1
	GIMSK = (1 << INT0);	//разрешить прерывание INT0 (PB1)
	
	set_sleep_mode(SLEEP_MODE_PWR_DOWN);	//настроить энергосберегающий режим Power-down
	
	sei();				//включить прерывания
	
	while(1)
		sleep_mode();	//войти в режим энергосбережения
} 

// вывод мелодии
static inline void doSound(void)
{
	//включить и настроить таймер
	TCCR0A = (1 << COM0A0) | (1 << WGM01);	//Toggle OC0A (PB0) on Compare Match ; mode = CTC
	TCCR0B = (1 << CS01) | (1 << CS00);		//Clock Select = F_CPU/64
	
	//поочередно проигрываем ноты
	for (uint8_t i = 0; i < COUNT_NOTES; i++)
	{
		//получить данные из памяти
		int16_t freq = pgm_read_word(&(frequences[i]));
		int16_t dur = pgm_read_word(&(durations[i]));
		
		//увеличиваем длительность в 1.5 раза
		dur *= 3;
		dur /= 2;
		
		//задаем частоту на выходе PB0
		OCR0A = (F_CPU / (2UL * 64UL * freq)) - 1;
		
		//ожидаем, пока играет нота
		while (dur > 0)
		{
			_delay_ms(10);
			dur -= 10;
		}
	}
	
	//отключить таймер
	TCCR0A = 0;
	TCCR0B = 0;
}

// обработчик прерывания INT0
ISR(INT0_vect)
{
	doSound();
}
У меня пару рас слетала файловая система при сбое по питанию (один раз сам выдернул, другой — свет отрубили).
За ссылочку спасибо — очень полезная. Настораживает только то, что большинство самых недорогих решений в штатах. А они там, помниться, те еще копирасты. С них станется и «повзаимодействовать по линии органов» с нашими…
Граждане, подскажите, пожалуйста, недорогой адекватный забугорный VPN
Я им рацуху на удешевление производства, и рынок сбыта подсказываю… а они мне минуса (
Вот и причиняй после этого радость людям)
Голосую за пейнтбол! Это единственное, где эта игруля имеет хоть малейшее право на жизнь.
Композитную броню предлагаю заменить на картон и жесть/фанеру. Камеры со сменными бронестеклами на обычные вебки с «броней» из оргстекла. Микрофон оставить только один — на прикрученной изолентой китайской рации, замкнутой на передачу. За базу можно взять детскую машинку на аккумуляторе. Спаренный маркер, балоны — и правда внутрь. «РПГ» — взад, т.е. нафиг, ибо в гараже нормальную систему заряжания не собрать, пейнтбольных РПГ я не видел (может и есть), да и толк от них будет сомнительный (а то и опасно). Предлагаю заменить на дымовые шашки — это красивше, и, возможно, полезнее.
Управление — конечно же на ардуинке. И трос обязательно — из г*вна эту дуру вытаскивать.
Ого! Еще один нанотехнолог-инноватор!
Рекомендую автору отвлечься от игрушек и посветить год службе в армии, желательно в танкистах/мотострелках.
После этого будет смотреть на свой ролик как на экранизацию американского гомикса для безграмотных негров.
Сам, признаюсь, давно не отправлял, но однажды столкнулся косвенно, когда мужик передо мной в очереди «слегка затупливал» заполняя опись каждый раз по-новому. Подобное (про дублирование данных при заполнении) описано вот тут.
Согласен с тем, что вводить описанную структуру параллельно Почте России — не имеет особого смысла, получим еще один DHL, EMS и т.д. А вот использовать описанные идеи в реформировании существующей системы — было бы весьма неплохо.
Для переходного периода и вовлечения Таможни вижу следующий вариант:
— Гражданин заключает с Почтой договор, по которому получает доступ на Сайт.
— На Сайте Гражданин заводит одно или несколько МестНазначения, каждому из которых Сайтом присваивается УникальныйИдентификатор, позволяющий однозначно идентифицировать как Гражданина, так и АдресДоставки корреспонденции.
— УникальныйИдентификатор содержит контрольные разряды, позволяющие, с некоторой вероятностью, определить факт его некорректного указания.
— Гражданин берет на себя обязательства по уведомлению Отправителя в необходимости помимо Индекса, ФИО, Адреса указывать в данных получателя УникальныйИдентификатор.
— Таможня имеет доступ к информационной системе, обеспечивающей работу Сайта.
— при поступлении отправления на Таможню, последняя использует данные Сайта для идентификации Гражданина и начислению ему, если потребуется, Налога.
— при начислении пошлины, гражданин получает через Сайт (+email+смс) уведомление о необходимости уплатить пошлину с предоставлением ему всех необходимых реквизитов для оплаты, а в идеале — возможности сделать это не выходя из дома (sms-платеж, оплата с карты, Qiwi и т.д)
— с момент идентификации Гражданина, Гражданин получает возможность отслеживания на Сайте входящего международного отправления вне зависимости от того, есть у него track-номер или нет.

Выше указан порядок, при котором юр.ответственность за идентификацию Гражданина лежит на Таможне. В случае, если этот вариант не получится «продавить», есть вариант, когда выполняют идентификацию (фактически — считывание и распознание УникальногоИдентификатора) работники Почты, перед передачей на Таможню. При этом Гражданину можно дать техническую возможность направлять Отправителю ссылку на штрихкод УникальногоИдентификатора, предоставляя при этом Гражданину некую скидку по договору при использовании Отправителем данного штрихкода.
Вот зачем мне заходить на сайт и делать заказ, если я все равно ножками посылку понесу?

Как минимум для того, чтобы Вы не тратили свое время заполняя по три экземпляра бланка. Как минимум не будет необходимости в том, чтобы писать данные отправителя — вбил один раз на сайте и все, далее сами подставляются.
Я не за то, чтобы превратить Почту России исключительно в то, что здесь описано. Для людей консервативных можно оставить и существующий порядок с заполнением всех бланков в отделении.
В наше время Почта России занимается всем чем угодно, кроме своей непосредственной деятельности по максимально быстрой пересылке материальных отправлений из пункта А в пункт Б. Диапазон «интересов» столь милой сердцу каждого гражданина организации распространяется от кредитования до торговли консервами. Ни о какой профессиональной работе по основному профилю в таких условиях говорить, естественно, не приходится.
Готов предположить, что в составе данной организации даже отсутствуют адекватный службы (укомплектованные адекватными кадрами), необходимые для того, чтобы написать/согласовать нормальное ТЗ и в дальнейшем вести этот проект.
В связи с чем я считаю приговором для Системы отдавать ее реализацию на откуп такому «Заказчику». Просрут.
Считаю необходимым проект реализовывать в рамках Госуслуг, а в качестве основного Исполнителя (бабла все равно не жалко, судя по всему) взять Яндекс.

Ради такого дела пришлось в G+ зарегистрироваться.
Вадим, спасибо за программу!

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity