Пито
Пт 14 июля 2017 г., 18:43
Терминалы старого стиля векторной графики все еще используются, по крайней мере, здесь
Вот TEK 4010/14, который вы можете получить на eBay, скорее всего,..
https: // www.YouTube.com/watch?v = Iztxeohhoym
Посмотрите на прекрасный способ, которым работали эти старые терминалы Vector Graphics..
https: // en.Википедия.org/wiki/tektronix_4010
Чтобы попробовать с помощью графики на основе векторов дома, и сегодня вы можете попробовать простую демонстрацию ниже - все, что вам нужно, это чертежи или что -то в этом роде и терминал Teraterm, или что -то в этом роде..
ОБНОВЛЕНИЕ: Добавлена распечатка истекшего времени, добавлено джин, добавленные спрайты, добавленные определения для цветов, стилей линий и размеров шрифтов
Вот TEK 4010/14, который вы можете получить на eBay, скорее всего,..
https: // www.YouTube.com/watch?v = Iztxeohhoym
Посмотрите на прекрасный способ, которым работали эти старые терминалы Vector Graphics..
https: // en.Википедия.org/wiki/tektronix_4010
Чтобы попробовать с помощью графики на основе векторов дома, и сегодня вы можете попробовать простую демонстрацию ниже - все, что вам нужно, это чертежи или что -то в этом роде и терминал Teraterm, или что -то в этом роде..
ОБНОВЛЕНИЕ: Добавлена распечатка истекшего времени, добавлено джин, добавленные спрайты, добавленные определения для цветов, стилей линий и размеров шрифтов
// A simple TEK4010/4014 Graphics Vector terminal - DEMO
// You need ie. TeraTerm or Xterm switched into TEK4010/14 Emulation
// The current vector's addressing is 1024x1024 (10bit)
//
// Loosely inspired by
// http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/TEK4010/TEK4010gdisp.html
// and other related information found on the web
//
// Provided as-is, no warranties of any kind are provided :)
// by Pito 7/2017
#include "Arduino.h"
void setup() {
delay(3000); // Wait for USB
Serial.begin(115200);
}
void loop() {
// Draw some primitives on the screen for fun
// Origin (0,0) is the left bottom corner, y| __x
uint32_t elapsed = micros();
Tekcls();
Tekcolor(2);
Tekgraph(4);
Tekpoint(100, 100);
Tekpoint(200, 100);
Tekpoint(200, 200);
Tekpoint(100, 200);
Tekcolor(3);
for (uint32_t i = 300; i < 500; i = i + 10) {
Tekline(i, 400, i, 600);
}
Tekstyle(0);
Tekline(300, 300, 500, 500);
Tekstyle(1);
Tekline(600, 400, 200, 300);
Tekstyleb(2);
Tekcolor(7);
Tekplot(10, 700);
Tekplot(500, 30);
Tekstyle(3);
Tekline(400, 600, 100, 800);
Tekcolor(4);
Tekstyleb(4);
Tekplot(300, 330);
Tekalpha();
Tekfont(1);
Teklocate(700, 400);
Tekcolor(6);
Serial.println("Hello World !!");
Tekfont(2);
Tekcolor(1);
Teklocate(700, 300);
Serial.println("STM32duino !!");
Tekfont(0);
Tekcolor(2);
Teklocate(500, 200);
Serial.println("THIS IS A TEST OF TEK4014 !!");
Tekcolor(1);
Tekstyle(0);
Tekbox(300, 200, 600, 600);
Tekcolor(2);
Tekstyle(0);
Tekdot(150, 150);
uint32_t i;
for (i = 0; i < 360; i++) {
float q = i;
q = 3.141592f * q / 180.0f;
float r = cosf(q);
q = sinf(q);
q = q * 120.0f;
q = q + 195.0f;
r = r * 120.0f;
r = r + 580.0f;
Tekdot((uint16_t) r, (uint16_t) q);
}
Tekcolor(5);
for (i = 0; i < 360; i++) {
float q = i;
q = 3.141592f * q / 180.0f;
q = sinf(q);
q = q * 150.0f;
q = q + 195.0f;
float r = i + 30.0f;
Tekdot((uint16_t) r, (uint16_t) q);
}
uint32_t a = 450;
for (i = 1; i < 34; i++) {
Tekline(0, 450, 1000, a);
a = a + 10;
}
Tekalpha();
Teklocate(400, 100);
elapsed = micros() - elapsed;
Serial.print("Elapsed: ");
Serial.print(elapsed);
Serial.println(" micros");
delay(5000);
}
// ********************************************************
// TEK4010/4014 basic 10bit commands library
// For details consult the TEK4010/4014 manual
// Pito 7/2017 for stm32duino
// ********************************************************
// Colors for print, plot, dot
#define black 0
#define red 1
#define green 2
#define yellow 3
#define blue 4
#define magenta 5
#define cyan 6
#define white 7
// Line styles
#define solid 0
#define dotted 1
#define dash_dotted 2
#define short_dashed 3
#define long_dashed 4
// Font sizes
#define large 0
#define normal 1
#define small 2
#define smallest 3
// Clear Tek screen
void Tekcls() {
Serial.write(0x1B);
Serial.write(0x0c);
//Serial.write(0x0d);Serial.write(0x0a);
}
// Select a color (0-7)
void Tekcolor(uint8_t color) {
Serial.write(0x1B);
Serial.write(0x5b);
Serial.write(0x33);
Serial.write(0x30 + color);
Serial.write(0x6d);
}
// Switch to graphical mode with a line style (0-4)
void Tekgraph(uint8_t style) {
Serial.write(0x1D);
Serial.write(0x1B);
Serial.write(style | 0x60);
}
// Select a font size (0-3) for printing alphanumeric strings
// The actual font type has to be set in the Emulator
void Tekfont(uint8_t fontsize) {
Serial.write(0x1B);
Serial.write(0x38 + fontsize);
}
// Normal style lines (0-4)
void Tekstyle(uint8_t style) {
Serial.write(0x1B);
Serial.write(0x60 + style);
}
// Bold style lines (??)
void Tekstyleb(uint8_t style) {
Serial.write(0x1B);
Serial.write(0x68 + style);
}
// Switch to alphanumeric mode
void Tekalpha() {
Serial.write(0x1f);
}
// Draw a point as a small cross (??)
void Tekpoint(uint16_t x, uint16_t y) {
Serial.write(0x1C); // FS
Serial.write(0x20 + ((y >> 5) & 0x1F));
Serial.write(0x60 + ((y) & 0x1F));
Serial.write(0x20 + ((x >> 5) & 0x1F));
Serial.write(0x40 + ((x) & 0x1F));
}
// Draw a single dot
void Tekdot(uint16_t x, uint16_t y) {
Serial.write(0x1D); // GS
Serial.write(0x20 + ((y >> 5) & 0x1F));
Serial.write(0x60 + ((y) & 0x1F));
Serial.write(0x20 + ((x >> 5) & 0x1F));
Serial.write(0x40 + ((x) & 0x1F));
Serial.write(0x40 + ((x) & 0x1F));
}
// Draw a line from (x1, y1) to (x2, y2)
void Tekline(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) {
Serial.write(0x1D); // GS
Serial.write(0x20 + ((y1 >> 5) & 0x1F));
Serial.write(0x60 + ((y1) & 0x1F));
Serial.write(0x20 + ((x1 >> 5) & 0x1F));
Serial.write(0x40 + ((x1) & 0x1F));
Serial.write(0x20 + ((y2 >> 5) & 0x1F));
Serial.write(0x60 + ((y2) & 0x1F));
Serial.write(0x20 + ((x2 >> 5) & 0x1F));
Serial.write(0x40 + ((x2) & 0x1F));
}
// Continue with drawing a line to (x1, y1)
void Tekplot(uint16_t x1, uint16_t y1) {
Serial.write(0x20 + ((y1 >> 5) & 0x1F));
Serial.write(0x60 + ((y1) & 0x1F));
Serial.write(0x20 + ((x1 >> 5) & 0x1F));
Serial.write(0x40 + ((x1) & 0x1F));
}
// Locate a point where to print a string
void Teklocate(uint16_t x1, uint16_t y1) {
Serial.write(0x1D); // GS
Serial.write(0x20 + ((y1 >> 5) & 0x1F));
Serial.write(0x60 + ((y1) & 0x1F));
Serial.write(0x20 + ((x1 >> 5) & 0x1F));
Serial.write(0x40 + ((x1) & 0x1F));
Tekalpha();
}
// Draw a box with left bottom corner at (bx, by) and top right corner at (tx, ty)
void Tekbox(uint16_t bx, uint16_t by, uint16_t tx, uint16_t ty) {
Tekline(bx, by, tx, by);
Tekplot(tx, ty);
Tekplot(bx, ty);
Tekplot(bx, by);
}
// Draw small sprites
void Teksprite(char* sprite) {
Serial.write(0x1E);
Serial.print(sprite);
}
// Go to the Graphics-IN mode
void Tekgin() {
Serial.write(0x1B);
Serial.write(0x1A);
}
Chismicro
Пт 14 июля 2017 г. 20:39
Интересно, я не знал, что Teraterm понимает tek4010/4014.
Некоторое время назад я адаптировал McURSES:
https: // github.com/chrismicro/mcurses
Некоторое время назад я адаптировал McURSES:
https: // github.com/chrismicro/mcurses
Пито
Сб 15 июля 2017 г. 9:04
Не только Teraterm понимает TEK4010/4014 Vector Graphics, но и «XERM» тоже.
Пользователи Linux могут попробовать..
Xterm: Эмуляция Tektronix 4014 также довольно хорошая. Он поддерживает 12-разрядную графическую адресацию, масштабируется до размера окна. Четыре разных размера шрифтов и пять типов линий поддерживаются. 12 -битная векторная адресация требует небольших изменений в подпрограммах (в настоящее время я использую 10 бит для X и Y), но позволяет рисовать на большой экране 4096x4096.. Вы вряд ли можете получить такой TFT, подключенный к вашему чертежу в ближайшее время..
Пользователи Linux могут попробовать..
Xterm: Эмуляция Tektronix 4014 также довольно хорошая. Он поддерживает 12-разрядную графическую адресацию, масштабируется до размера окна. Четыре разных размера шрифтов и пять типов линий поддерживаются. 12 -битная векторная адресация требует небольших изменений в подпрограммах (в настоящее время я использую 10 бит для X и Y), но позволяет рисовать на большой экране 4096x4096.. Вы вряд ли можете получить такой TFT, подключенный к вашему чертежу в ближайшее время..
Пито
Сб 15 июля 2017 г. 12:26
И .корзин для F103 (96 КБ) с большим действием на экране..
Serialusb. Установите шрифт в Lucida или Consolas в окне TEK для лучшего ретро -образа ..
Serialusb. Установите шрифт в Lucida или Consolas в окне TEK для лучшего ретро -образа ..
- Tek4014_demo.rar
- (48.92 киб) скачано 48 раз
Пито
Солнце 16 июля 2017 г. 7:10 утра
Обновлено выше корзина с новым драйвером USB. Вы должны получить около 61 млн. С первым экраном.
Chismicro
Пн 17 июля 2017 г. 9:12
Просто для развлечения я добавил вас, функциональные функции в Guipiitx:
https: // github.com/chrismicro/guipittix ... _wrapper.час
Теперь пример мигания светодиода и пример числа может стимулировать TEK-Display (динамически ).
Другие примеры требуют прикосновения, которого я не смог достичь с помощью Teraterm. Кажется, когда я нажимаю на окно Teraterm, оно не отправляет обратно позицию мыши.
https: // github.com/chrismicro/guipittix ... _wrapper.час
Теперь пример мигания светодиода и пример числа может стимулировать TEK-Display (динамически ).
Другие примеры требуют прикосновения, которого я не смог достичь с помощью Teraterm. Кажется, когда я нажимаю на окно Teraterm, оно не отправляет обратно позицию мыши.
Пито
Пн 17 июля 2017 г. 10:11
Чтобы получить положение мыши, вы сначала переключитесь в режим джина.
Не тестируется:
Не тестируется:
// Go to the Graphics-IN mode
void Tekgin() {
Serial.write(0x1B);
Serial.write(0x1A);
}
Пито
Пн 17 июля 2017 г. 11:08
С помощью этого быстрого взлома вы можете увидеть данные от движений мыши и нажимать/нажимать кнопки в режиме джина:
char b0, b1, b2, b3 , b4;
Tekgin(); // set the Graphics-IN mode
Teklocate(200, 600); // from here we want printout results
while(1) {
Tekgin(); // GIN mode
if (Serial.available() > 0) b0 = Serial.read(); // Get pressed buttons/mouse code
if (Serial.available() > 0) b1 = Serial.read(); // cross hair coordinates
if (Serial.available() > 0) b2 = Serial.read(); // cross hair coordinates
if (Serial.available() > 0) b3 = Serial.read(); // cross hair coordinates
if (Serial.available() > 0) b4 = Serial.read(); // cross hair coordinates
Tekalpha(); // go to alpha mode
Tekfont(2);
Tekcolor(6);
Serial.print(b0, HEX);Serial.print(" "); // print out the stuff
Serial.print(b1, HEX);Serial.print(" ");
Serial.print(b2, HEX);Serial.print(" ");
Serial.print(b3, HEX);Serial.print(" ");
Serial.println(b4, HEX);
delay(500);
}
Пито
Пн 17 июля 2017 г. 11:33
Существует также «режим инкрементного сюжета» для рисования меньших «спрайтов»
Не тестируется.
Не тестируется.
// Draw small sprites
void Teksprite(char* sprite) {
Serial.write(0x1E);
Serial.print(sprite);
}
Chismicro
Пн 17 июля 2017 г. 14:53
Пито, где вы нашли спецификацию?
Я нашел немного GitHub Resource что может быть полезно.
Я нашел немного GitHub Resource что может быть полезно.
Пито
Пн 17 июля 2017 г. 15:52
Нет спецификации, только гуглить..
Вот флот, состоящий из 625 фрегатов типа 26, созданных
Вот флот, состоящий из 625 фрегатов типа 26, созданных
Tekcolor(green);
char* sprite;
// Type 26 frigate
sprite = "PAAAAAAAAAAAAAADDBBBDDBBBHHBBBDDBBBHHBBHH";
elapsed = micros();
for(i=100; i<600; i=i+20){
for(a=100; a<600; a=a+20){
Teklocate(i, a);
Teksprite(sprite);
}
}
elapsed = micros() - elapsed;
Tekalpha();
Tekfont(normal);
Teklocate(100, 50);
Serial.print("Elapsed: ");
Serial.print(elapsed);
Serial.println(" micros");
Пито
Сб 22 июля 2017 г. 9:12
В качестве доказательства концепции, который я попробовал с терминалом TEK в качестве экрана анализатора спектра DIY (1024 точка CMSIS FP FFT).
Формирован моим старым Dyi Siggen в 12-битный ADC (Black F407ZE), вход ADC, центрированный с резисторами 2x 10K и в сочетании с Siggen с помощью Cap Cap 100 UF (все они наносят на ракушку без припоя, длинные провода, +Vref-это чернокожие VDD. ) и видео-потока, сделанное через Serialusb в терминал TEK (Teraterm Win7).
Терминал TEK идеально используется, Tekcls () и серийный.Печать чисел иногда вызывает короткое мигание, но рисование 512 спектров (линии или точек) само по себе является быстрым, в реальном времени. Избегание tekcls () и минимизации серийных.Печать сделает это в реальном времени.
Ниже сигнал греха ~ 30 кГц:
1. Уровень выходного генератора сигнала при нуле - вы можете увидеть, как все еще есть утечка сигнала с выхода Siggen, однако (шум шума - что -то вроде 200Vpeak).
2. с АЦП не переоборудованным
3. С АЦП переживаем..
Формирован моим старым Dyi Siggen в 12-битный ADC (Black F407ZE), вход ADC, центрированный с резисторами 2x 10K и в сочетании с Siggen с помощью Cap Cap 100 UF (все они наносят на ракушку без припоя, длинные провода, +Vref-это чернокожие VDD. ) и видео-потока, сделанное через Serialusb в терминал TEK (Teraterm Win7).
Терминал TEK идеально используется, Tekcls () и серийный.Печать чисел иногда вызывает короткое мигание, но рисование 512 спектров (линии или точек) само по себе является быстрым, в реальном времени. Избегание tekcls () и минимизации серийных.Печать сделает это в реальном времени.
Ниже сигнал греха ~ 30 кГц:
1. Уровень выходного генератора сигнала при нуле - вы можете увидеть, как все еще есть утечка сигнала с выхода Siggen, однако (шум шума - что -то вроде 200Vpeak).
2. с АЦП не переоборудованным
3. С АЦП переживаем..
- Fft_siggen_1.JPG (36.85 киб) просмотрено 783 раза
Rogerclark
Сб 22 июля 2017 г. 10:41
Спасибо
Это может быть действительно полезно.
Поместить его в библиотеку будет следующим логическим шагом
Это может быть действительно полезно.
Поместить его в библиотеку будет следующим логическим шагом
Пито
Сб 22 июля 2017 г. 12:19
В первом посте есть обновленные процедуры. С определением для цветов, шрифтов и стилей линий.
Все еще должен быть разработан способ обновления контента экрана.
Моя идея состоит в том, чтобы переписать динамическую информацию на экране с предыдущей информацией, но с черными чернилами (с цветом фона), тем самым стирайте ее перед написанием нового.
Нравиться:
Все еще должен быть разработан способ обновления контента экрана.
Моя идея состоит в том, чтобы переписать динамическую информацию на экране с предыдущей информацией, но с черными чернилами (с цветом фона), тем самым стирайте ее перед написанием нового.
Нравиться:
Tekcolor(green);
Teklocate(200,200);
Serial.print("Hello World");
Tekbox(100,100,700,700);
do_something();
// Delete the above info only, no Tekcls()
Tekcolor(black);
Teklocate(200,200);
Serial.print("Hello World");
Tekbox(100,100,700,700);
// .. deleted from screen
..
Пито
Сб 22 июля 2017 г. 12:48
Этот док
http: // vt100.net/docs/vt3xx-gp/глава13.HTML#S13.14
Показывает следующую таблицу - как отправляются координаты TEK, и как работает «короткая версия» отправки координат.
Ключевое сообщение здесь: последний байт (низкий x) - это байт, который запускает фактический луч и делает ничьей..
TEK включает в себя 5 -байт большой «видео буфера», где внутренняя логика обнаруживает верхние 2 бита («биты метки») входящих ASCII Chars (фактически бит 6 и 5 байта) и на основе последовательности и значения решает, что делать дальше.
Когда кто -то нуждается в режиме 12BITS 4K x 4K, дополнительный «дополнительный» байт с верхними битами каждых четырех координат должен быть отправлен в качестве второй координаты Y. Терминал должен обнаружить это автоматически и улучшить размер.
Примечание: мы еще не отправляем дополнительный байт.
http: // vt100.net/docs/vt3xx-gp/глава13.HTML#S13.14
Показывает следующую таблицу - как отправляются координаты TEK, и как работает «короткая версия» отправки координат.
Ключевое сообщение здесь: последний байт (низкий x) - это байт, который запускает фактический луч и делает ничьей..
TEK включает в себя 5 -байт большой «видео буфера», где внутренняя логика обнаруживает верхние 2 бита («биты метки») входящих ASCII Chars (фактически бит 6 и 5 байта) и на основе последовательности и значения решает, что делать дальше.
Когда кто -то нуждается в режиме 12BITS 4K x 4K, дополнительный «дополнительный» байт с верхними битами каждых четырех координат должен быть отправлен в качестве второй координаты Y. Терминал должен обнаружить это автоматически и улучшить размер.
Примечание: мы еще не отправляем дополнительный байт.
- TEK кодирует координаты.JPG (72.9 киб) просмотрено 757 раз
Пито
Сб 22 июля 2017 г. 16:05
Удаление линий, перезаписывая их фоновыми чернилами работает отлично, перезапись Chars оставляет слабые артефакты, подобные здесь
- Артефакты шрифта.JPG (15.58 киб) просмотрено 734 раза
Rogerclark
Сб 22 июля 2017 г. 9:42 вечера
Отличная работа..
Chismicro
Солнце 23 июля 2017 г. 5:44
Я пропустил исходный код?
Rogerclark
Солнце 23 июля 2017 г. 7:06 утра
Rogerclark
Солнце 23 июля 2017 г., 7:25 утра
Я сделал это в библиотеку
Не идеально...
#defines должны быть свойствами
Пожалуйста, не стесняйтесь исправить это и в целом улучшить его
Не идеально...
#defines должны быть свойствами
Пожалуйста, не стесняйтесь исправить это и в целом улучшить его
Пито
Солнце 23 июля 2017 г. 10:44
@Roger: Спасибо!
Следующими улучшениями могут быть:
1. Представляем IE Tekplotv и Tekploth - вертикальные и горизонтальные линии с коротким адресом
2. Tekbox с короткой адресацией
4. Представление 12 -битного режима
5. Говоря о «идеальной библиотеке» - самой сложной частью было бы создать механизм для перерисовки динамической информации на экране TEK, перезаписывая его фоновым цветом чернил и печатая новую.
Это в основном легко с парой значений, но когда вы рисуете много струн, массивов (в форме линий/точек/спрайтов), вы должны запомнить все «old_values», а когда они меняются и должны печатать Вы должны переписать их картинку с помощью Old_value (с фоновым цветом чернил) в одном и том же месте и распечатать новое значение с фактическим цветом чернил в одном и том же месте..
И это не только одно действие, похожее на сериал.print или tekplot (), но это может быть процесс - т.е. Чтобы перерисовать «спектр», «волны», маленькая картина..
Нелегко..
Конечно, есть обходной путь - вы можете tekcls () и нарисовать новую полную картину с новыми значениями, он достаточно быстро для большинства приложений.
Следующими улучшениями могут быть:
1. Представляем IE Tekplotv и Tekploth - вертикальные и горизонтальные линии с коротким адресом
2. Tekbox с короткой адресацией
4. Представление 12 -битного режима
5. Говоря о «идеальной библиотеке» - самой сложной частью было бы создать механизм для перерисовки динамической информации на экране TEK, перезаписывая его фоновым цветом чернил и печатая новую.
Это в основном легко с парой значений, но когда вы рисуете много струн, массивов (в форме линий/точек/спрайтов), вы должны запомнить все «old_values», а когда они меняются и должны печатать Вы должны переписать их картинку с помощью Old_value (с фоновым цветом чернил) в одном и том же месте и распечатать новое значение с фактическим цветом чернил в одном и том же месте..
И это не только одно действие, похожее на сериал.print или tekplot (), но это может быть процесс - т.е. Чтобы перерисовать «спектр», «волны», маленькая картина..
Нелегко..
Конечно, есть обходной путь - вы можете tekcls () и нарисовать новую полную картину с новыми значениями, он достаточно быстро для большинства приложений.
Пито
Солнце 23 июля 2017 г. 12:08
Еще одна демонстрация, которую вы можете попробовать или добавить в библиотеку.
Rogerclark
Солнце 23 июля 2017 г. 11:10
Эта демонстрация сработала для меня нормально.
Я просто помещаю файлы библиотеки в папку внутри папки библиотек
Интересно, должна ли быть функция для отображения текста. Я знаю, что сериал.Печать и сериал.Println работает нормально, но кажется странным, чтобы не нужна конкретная команда TEK, чтобы сделать это
Я могу просто добавить Tek.Печать и Tek.println, который только что называется сериалом.Печать и сериал.println
Также я думаю, что может быть полезно передать последовательный порт в библиотеку в качестве жесткого кодировки на «серийный»
Я просто помещаю файлы библиотеки в папку внутри папки библиотек
Интересно, должна ли быть функция для отображения текста. Я знаю, что сериал.Печать и сериал.Println работает нормально, но кажется странным, чтобы не нужна конкретная команда TEK, чтобы сделать это
Я могу просто добавить Tek.Печать и Tek.println, который только что называется сериалом.Печать и сериал.println
Также я думаю, что может быть полезно передать последовательный порт в библиотеку в качестве жесткого кодировки на «серийный»
Пито
Мон 24 июля 2017 г. 8:24
Я могу просто добавить Tek.Печать и Tek.println, который только что называется сериалом.Печать и сериал.println
Да, это нормально.
Есть одна проблема с серийным.Печать - он не может распечатать научную нотация - например: -3.45E-6.
Итак, мы должны что -то использовать, что может сделать..
PS: терминал TEK, когда в Alpha Mode (tekalpha ()) работает как стандартный «терминал на основе ЧАР».
Параметр размера шрифта (tekfont (), см. Наши определения в LIB) определяет его строки/объем Chars:
Большой - 35 строк из 74 символов
Нормальный - 38 строк из 81 символа
маленький - 58 строк из 121 символа
наименьшее - 64 строки из 133 символов
Используемый фактический тип шрифта может быть установлен в настройке TEK->Шрифт.
Цветная эмуляция и цвет фона могут быть установлены в настройке TEK -> Окно.
Есть одна проблема с серийным.Печать - он не может распечатать научную нотация - например: -3.45E-6.
Итак, мы должны что -то использовать, что может сделать..
PS: терминал TEK, когда в Alpha Mode (tekalpha ()) работает как стандартный «терминал на основе ЧАР».
Параметр размера шрифта (tekfont (), см. Наши определения в LIB) определяет его строки/объем Chars:
Большой - 35 строк из 74 символов
Нормальный - 38 строк из 81 символа
маленький - 58 строк из 121 символа
наименьшее - 64 строки из 133 символов
Используемый фактический тип шрифта может быть установлен в настройке TEK->Шрифт.
Цветная эмуляция и цвет фона могут быть установлены в настройке TEK -> Окно.
Chismicro
Пн 24 июля 2017 г. 8:42 утра
Я могу просто добавить Tek.Печать и Tek.println, который только что называется сериалом.Печать и сериал.println
Я сделал это здесь.
Таким образом, все функции Adafruit-GFX используют терминал TEK в качестве выхода.
Таким образом, все функции Adafruit-GFX используют терминал TEK в качестве выхода.
Пито
Мон 24 июля 2017 г. 8:52 утра
@Chris: Намейте The Tek терминал не очень хорошо подходит для примитивов, так как нет такой команды Afaik..
Adafruit ориентирован на пиксель, Tek ориентирован на вектор с помощью «Нарисуйте линию от A, B до C, D» в качестве единственного примитива графика..
Предполагаю, что демо -демоверсии с эмуляцией Tek Emulation может работать, но это займет много лет, я думаю
Adafruit ориентирован на пиксель, Tek ориентирован на вектор с помощью «Нарисуйте линию от A, B до C, D» в качестве единственного примитива графика..
Предполагаю, что демо -демоверсии с эмуляцией Tek Emulation может работать, но это займет много лет, я думаю
Пито
Мон 24 июля 2017 г. 10:22
Это тест режима альфа -терминала.
// A simple TEK4010/4014 Vector terminal DEMO
// You need TeraTerm or Xterm switched to TEK4010/14 Emulation
//
// Use fast Serial over USB for best experience
//
// Shows alpha terminal mode
//
// Provided as-is, no warranties of any kind are provided :)
// by Pito 7/2017
#include "Arduino.h"
#include "Tek.h"
TEK tek;
void setup() {
delay(3000);
Serial.begin(115200);
}
void loop() {
uint32_t i;
tek.Tekcls();
tek.Tekfont(normal);
tek.Tekcolor(yellow);
tek.Tekalpha();
tek.Teklocate(100, 700);
for (i = 0; i < 20; i++) {
Serial.println("Hello World from STM32duino!");
}
delay(2000);
tek.Tekcolor(cyan);
char* sprite;
// Type 26 frigate
sprite = "PAAAAAAAAAAAAAADDBBBDDBBBHHBBBDDBBBHHBBHH";
tek.Tekgraph(solid);
for(i=350; i<480; i=i+20){
for(uint32_t a=300; a<400; a=a+20){
tek.Teklocate(i, a);
tek.Teksprite(sprite);
}
}
delay(2000);
tek.Tekfont(smallest);
tek.Tekcolor(green);
tek.Tekalpha();
tek.Teklocate(100, 300);
for (i = 0; i < 80; i++) {
Serial.println("This is a test of Tek Terminal..");
}
delay(5000);
}
Rogerclark
Mon Jul 24, 2017 10:50 утра
@pito
Мы могли бы написать какой -нибудь код, чтобы превратить числа научных обозначений в строку перед отправкой в сериал.печать
Мы могли бы написать какой -нибудь код, чтобы превратить числа научных обозначений в строку перед отправкой в сериал.печать
Пито
Пн 24 июля 2017 г. 11:01
@Roger: Вот код Float2String, который я использовал для использования в нашем упражнении FPU..
Я должен дважды проверить, так как есть версия Davekw7x, которая имеет ошибку, которая получила ошибку.
http: // www.STM32duino.com/viewtopic.PHP ... = 60#p26771
В этой версии ниже используется единственный точный FPU, когда.
ОБНОВЛЕНИЕ: chnged до 7 цифр, достаточно справедливо для единственной точности..
Я должен дважды проверить, так как есть версия Davekw7x, которая имеет ошибку, которая получила ошибку.
http: // www.STM32duino.com/viewtopic.PHP ... = 60#p26771
В этой версии ниже используется единственный точный FPU, когда.
ОБНОВЛЕНИЕ: chnged до 7 цифр, достаточно справедливо для единственной точности..
// ====== float2s(): print out up to 7 digits of input single-precision value
// This version enables single-precision for STM32duino, Teensy 3, etc.
// from double2s version by J.Beale March 2013
// modified from original float2s() posted by davekw7x on December, 2010
// http://arduino.cc/forum/index.php/topic,46931.0.html
// Modded for single precision floats with FPU by Pito 4,7/2017
// No warranties of any kind, provided as-is..
char * float2s(float f)
{
return float2s(f, 2);
}
char * float2s(float f, unsigned int digits) {
int d;
static char s[26]; // formatted number as string
int index=0;
// handle sign
if (f < 0.0f)
{
s[index++] = '-';
f = -f;
}
// handle infinite values
if (isinf(f))
{
strcpy(&s[index], "INF");
return s;
}
// handle Not a Number
if (isnan(f))
{
strcpy(&s[index], "NaN");
return s;
}
// max digits
if (digits > 7) digits = 7;
int exponent = int(log10f(f));
float g = f / powf(10.0f, exponent);
if ((g < 1.0f) && (g != 0.0f))
{
g *= 10.0f;
exponent--;
}
// if (exponent < -330) { // lower limit of double-precision on Teensy 3
if (exponent < -38) {
g = 0.0f;
exponent = 0;
}
if (digits < 7) { // display number rounded at last digit
g += 0.5f / powf(10.0f,digits);
}
d = g;
sprintf(&s[index++],"%d",d);
if (digits > 0) sprintf(&s[index++],".");
for (int i=0;i
Пито
Пн 24 июля 2017 г. 15:52
В этой старой доске новостей 25y+
ftp: // невидимкий Island.net/shuford/term ... x_news.текст
Я нашел некоторую информацию о режиме джина и координатах мыши:
ftp: // невидимкий Island.net/shuford/term ... x_news.текст
Я нашел некоторую информацию о режиме джина и координатах мыши:
There are 2 modes of reading the GIN co-ordinates, interactive and
non-interactive.
Interactive mode: the Xhair cursor is displayed, the operator moves it
to the required position and then presses a key (NOT the return key!).
A sequence of bytes is sent to the computeras follows:
The ASCII value of the key pressed e.g. D
HiX byte - 01 followed by the 5 most significant X bits
LoX byte - 01 followed by the 5 least significant X bits
HiY byte - 01 followed by the 5 most significant Y bits
LoY byte - 01 followed by the 5 least significant Y bits
This sequence is followed by the termination character(s) as set by
a jumper set on the TC2 card within the terminal. The most common
setting is to send the CR character.
To recreate the X and Y values:
X=(32*(HiX-32))+(LoX-32)
Y=(32*(HiY-32))+(LoY-32)
In non-interactive mode the computer sends . The sequence
returned is as above, except that the keycode is replaced by a status
byte, this gives information as to whether the terminal is in Alpha,
Graphics or GIN mode. I cannot at the moment remember which bit does
what.
Chismicro
Mon Jul 24, 2017, 16:02
Если вы посмотрите на Tek-Source Я разместил ранее в этой теме, вы можете увидеть в строке 869 описание и декодирование данных джина.
Существует различие в 2 случаях:
Существует различие в 2 случаях:
/*--------------------------------------------------------------------------*\
* decode_gin()
*
* Decodes a GIN tek vector string into an xy pair of relative device
* coordinates. It's best to not use absolute device coordinates since the
* coordinate bounds are different depending on the report encoding used.
*
* Standard:
* Extended:
*
* where holds the two low order bits for each coordinate.
\*--------------------------------------------------------------------------*/
static void
decode_gin(char *c, PLGraphicsIn *gin)
{
int x, y, lc = strlen(c);
if (lc == 4) {
x = ((c[0] & 0x1f) << 5) +
((c[1] & 0x1f) );
y = ((c[2] & 0x1f) << 5) +
((c[3] & 0x1f) );
gin->pX = x;
gin->pY = y;
gin->dX = x / (double) TEKX;
gin->dY = y / (double) TEKY;
}
else if (lc == 5) {
y = ((c[0] & 0x1f) << 7) +
((c[2] & 0x1f) << 2) +
((c[1] & 0x06) >> 2);
x = ((c[3] & 0x1f) << 7) +
((c[4] & 0x1f) << 2) +
((c[1] & 0x03) );
gin->pX = x;
gin->pY = y;
gin->dX = x / (double) (TEKX << 2);
gin->dY = y / (double) (TEKY << 2);
}
else { /* Illegal encoding */
gin->pX = 0;
gin->pY = 0;
gin->dY = 0;
gin->dX = 0;
}
}
Пито
Пн 24 июля 2017 г. 16:57
Посмотрите на мой предыдущий пост, лучший способ - прочитать источник TERM
Очень красиво написано, легко читать. TT знает больше, чем я ожидал
Честно говоря, я не могу найти помощь или документацию TERM для вариантов эмуляции TEK..
Итак, мы должны прочитать источники.
Из того, что я прочитал, режим джина возвращает всегда 10 -битные значения, даже в 12 -битном режиме..
TT делает в источнике:
Очень красиво написано, легко читать. TT знает больше, чем я ожидал
Честно говоря, я не могу найти помощь или документацию TERM для вариантов эмуляции TEK..
Итак, мы должны прочитать источники.
Из того, что я прочитал, режим джина возвращает всегда 10 -битные значения, даже в 12 -битном режиме..
TT делает в источнике:
ToggleCrossHair(tk,ts,FALSE);
X = (int)((float)tk->GINX /
(float)tk->ScreenWidth * (float)ViewSizeX);
Y = (int)((1.0 - (float)(tk->GINY+1) /
(float)tk->ScreenHeight) * (float)ViewSizeY);
Code[0] = KeyCode;
Code[1] = (X >> 7) + 32;
Code[2] = ((X >> 2) & 0x1f) + 32;
Code[3] = (Y >> 7) + 32;
Code[4] = ((Y >> 2) & 0x1f) + 32;
Code[5] = 0x0d;
Пито
Пн 24 июля 2017 г., 19:56
Эта демонстрация мыши показывает возвращенные координаты. Координат работы, как и ожидалось.
Я получаю «[36M20» в качестве кода возврата кнопки мыши - скорее всего, последовательность побега.
ОБНОВЛЯТЬ:
«[36M» - это код побега для голукого цвета.
Когда я переоделся на желтый, я получил [33 м - код побега на желтый.
Таким образом, он возвращает фактический активный цвет. Интересный..
«0x20» - это код для «пространства», то есть TekginMouseCode по умолчанию для левой кнопки (TERM .INI).
Вы можете изменить это.
Я получаю «[36M20» в качестве кода возврата кнопки мыши - скорее всего, последовательность побега.
ОБНОВЛЯТЬ:
«[36M» - это код побега для голукого цвета.
Когда я переоделся на желтый, я получил [33 м - код побега на желтый.
Таким образом, он возвращает фактический активный цвет. Интересный..
«0x20» - это код для «пространства», то есть TekginMouseCode по умолчанию для левой кнопки (TERM .INI).
Вы можете изменить это.
// A simple TEK4010/4014 Vector terminal DEMO
// You need TeraTerm or Xterm switched to TEK4010/14 Emulation
//
// Use fast Serial over USB for best experience
//
// Shows MOUSE activity and returned X and Y coordinates
// You must click to get new X and Y
//
// Provided as-is, no warranties of any kind are provided :)
// by Pito 7/2017
#include "Arduino.h"
#include "Tek.h"
TEK tek;
void setup() {
delay(3000);
Serial.begin(115200);
}
void loop() {
uint32_t i = 0;
char b0, b1, b2, b3, b4;
uint16_t x = 0, y = 0, xo = 0, yo = 0;
tek.Tekcls();
tek.Tekcolor(cyan);
while (1) {
tek.Tekgin();
if (Serial.available() > 0) b0 = Serial.read();
if (Serial.available() > 0) b1 = Serial.read();
if (Serial.available() > 0) b2 = Serial.read();
if (Serial.available() > 0) b3 = Serial.read();
if (Serial.available() > 0) b4 = Serial.read();
x = 32 * (b1 - 32) + (b2 - 32);
y = 32 * (b3 - 32) + (b4 - 32);
tek.Tekalpha();
tek.Tekfont(small);
tek.Tekcolor(cyan);
if ((x != xo) | (y != yo)) {
Serial.print(b0, HEX); // KeyCode
Serial.print(" X=");
Serial.print(x);
Serial.print(" Y=");
Serial.print(y);
Serial.println();
xo = x;
yo = y;
i++;
}
delay(100);
if (i == 80) {
tek.Tekcls();
i = 0;
}
}
}
Rogerclark
Пн 24 июля 2017 г. 22:28
Спасибо, Пито
Можете ли вы сказать мне, где ему нужны текстовые строки научных записей?
Это для координат или исключительно для визуального текста?
Также...
Я думаю, ты сказал, что это не заполняет ??
Это потому, что оригинальное оборудование было вежливым дисплеем?
Можете ли вы сказать мне, где ему нужны текстовые строки научных записей?
Это для координат или исключительно для визуального текста?
Также...
Я думаю, ты сказал, что это не заполняет ??
Это потому, что оригинальное оборудование было вежливым дисплеем?
Пито
Пн 24 июля 2017 г. 22:39
@Roger, нотация SCIFI необходима только для печати результатов расчетов пользователя, а не для координат.
Координаты всегда целыми, 0..4095 для x и y.
Tektronix 4010/4014 и другие - это очень большие пробирки осциллографа, с очень длинным вспомогательным цветом.
Информация, окрашенная в фосфор тонким электронным лучом, длилась как минимум в течение часа, если только вы не сделали чистый экран, что заняло около 1.5 секунд и высокое напряжение с противоположной полярностью очистила заряд (вызывая свечение линий) с фосфора экрана.
Tek-это x-y платтер. Экран похож на лист бумаги в x-y-платтере. Кончик ручки диаметром 1 пиксель.
Чтобы заполнить большую коробку 300x300 с красным цветом, значит сделать 300 линий длиной 300 пикселей.
Тек знает только один графический примитив - линия от (a, b) до (c, d).
В прошлом большие поверхности, где заполнены длинами/сеткой, сделанной из линий.
Координаты всегда целыми, 0..4095 для x и y.
Tektronix 4010/4014 и другие - это очень большие пробирки осциллографа, с очень длинным вспомогательным цветом.
Информация, окрашенная в фосфор тонким электронным лучом, длилась как минимум в течение часа, если только вы не сделали чистый экран, что заняло около 1.5 секунд и высокое напряжение с противоположной полярностью очистила заряд (вызывая свечение линий) с фосфора экрана.
Tek-это x-y платтер. Экран похож на лист бумаги в x-y-платтере. Кончик ручки диаметром 1 пиксель.
Чтобы заполнить большую коробку 300x300 с красным цветом, значит сделать 300 линий длиной 300 пикселей.
Тек знает только один графический примитив - линия от (a, b) до (c, d).
В прошлом большие поверхности, где заполнены длинами/сеткой, сделанной из линий.
Rogerclark
Пн 24 июля 2017 г. 22:44
Спасибо за информацию.
Я вспоминаю несколько ранних видеоигр, которые также использовали векторные дисплеи.
Возможно, у нас могут быть астериоды
Я вспоминаю несколько ранних видеоигр, которые также использовали векторные дисплеи.
Возможно, у нас могут быть астериоды
Rogerclark
Пн 24 июля 2017 г. 22:49
Еще одна мысль...
Есть ли эмулятор TEK на основе Python?
Есть ли эмулятор TEK на основе Python?
Пито
Пн 24 июля 2017 г. 22:59
Я вспоминаю несколько ранних видеоигр, которые также использовали векторные дисплеи.
Не только игры, но и все графические системы с 50 лет до конца 70 лет (CADS, военные гаджеты - радары и т. Д.).
Чтобы получить «разрешение» 4096x4096 (даже это было не совсем) в однократном цвете, вам понадобится 2 Мбайта видео оперативной памяти при разговоре с растровым режимом. Это количество оперативной памяти было довольно дорогим в то время..
Например, 3101 64-битная оперативная память Intel стоила 99 долларов в середине 1969 года, 40 долларов в 1970 году.
И вам понадобился только один чип 3101 для TEK4014
Чтобы получить «разрешение» 4096x4096 (даже это было не совсем) в однократном цвете, вам понадобится 2 Мбайта видео оперативной памяти при разговоре с растровым режимом. Это количество оперативной памяти было довольно дорогим в то время..
Например, 3101 64-битная оперативная память Intel стоила 99 долларов в середине 1969 года, 40 долларов в 1970 году.
И вам понадобился только один чип 3101 для TEK4014
Стивестронг
Пн 24 июля 2017 г. 11:43
Относительно выполнения заполнения.
Может быть, мы сможем принести Tek, чтобы заполнить прямоугольник, если мы напишем «пространство» персонажа с желаемым цветом и измерением в желаемой координате.
Конечно, это будет работать только для горизонтально и вертикально выровненных заполнений.
Может быть, мы сможем принести Tek, чтобы заполнить прямоугольник, если мы напишем «пространство» персонажа с желаемым цветом и измерением в желаемой координате.
Конечно, это будет работать только для горизонтально и вертикально выровненных заполнений.
Rogerclark
Вт 25 июля 2017 г. 12:20 утра
КСТАТИ. Я искал код векторных астероидов
Я не могу найти окончательный источник, но в этом блоге есть какой -то интересный код
https: // katyscode.WordPress.com/2012/06 ... S-OR-US/
Я не могу найти окончательный источник, но в этом блоге есть какой -то интересный код
https: // katyscode.WordPress.com/2012/06 ... S-OR-US/
Chismicro
Вт 25 июля 2017 г. 6:21
Относительно выполнения заполнения.
Может быть, мы сможем принести Tek, чтобы заполнить прямоугольник, если мы напишем «пространство» персонажа с желаемым цветом и измерением в желаемой координате.
Конечно, это будет работать только для горизонтально и вертикально выровненных заполнений. Вы можете сделать «псевдо заполняет», если подходит резолюция экрана.
Вы можете увидеть результат, если просто установите библиотеку Guipittix и запустите Светодиодный пример с помощью Tek-output.
Я заставляю эту библиотеку иметь универсальные графические элементы на любом дисплее. Наверное, я начну делать специальные элементы векторной графики для поддержки этого типа дисплеев.
Может быть, мы сможем принести Tek, чтобы заполнить прямоугольник, если мы напишем «пространство» персонажа с желаемым цветом и измерением в желаемой координате.
Конечно, это будет работать только для горизонтально и вертикально выровненных заполнений. Вы можете сделать «псевдо заполняет», если подходит резолюция экрана.
Вы можете увидеть результат, если просто установите библиотеку Guipittix и запустите Светодиодный пример с помощью Tek-output.
Я заставляю эту библиотеку иметь универсальные графические элементы на любом дисплее. Наверное, я начну делать специальные элементы векторной графики для поддержки этого типа дисплеев.
Zoomx
Вт 25 июля 2017 г. 6:34 утра
[Rogerclark - Пн 24 июля 2017 г. 22:44] - Я вспоминаю несколько ранних видеоигр, которые также использовали векторные дисплеи.Я помню, что также боевой танк и игра с двумя игроками, я не помню названия. Это была битва между двумя линкору.
Возможно, у нас могут быть астериоды
Rogerclark
Вт 25 июля 2017 г. 7:19 утра
https: // en.Википедия.org/wiki/battlezon ... ideo_game)
был танком один
Я смутно помню, как играл что -то на основе Star Trek, с кораблем «Enterprise» и «Kingon» (в школьной поездке, я думаю, мы пошли в аркаду, когда мы должны были что -то делать! И у них были старые игровые консольные машины)
Возможно
http: // davesclassicarcard.com/startrek/startrek.HTML
https: // en.Википедия.org/wiki/star_trek_ (arcade_game)
Но тот, который я помню, казалось, предшествовал этому, и из того, что я помню, было больше похоже на астероиды, в том, что это был 2D -представление плана
был танком один
Я смутно помню, как играл что -то на основе Star Trek, с кораблем «Enterprise» и «Kingon» (в школьной поездке, я думаю, мы пошли в аркаду, когда мы должны были что -то делать! И у них были старые игровые консольные машины)
Возможно
http: // davesclassicarcard.com/startrek/startrek.HTML
https: // en.Википедия.org/wiki/star_trek_ (arcade_game)
Но тот, который я помню, казалось, предшествовал этому, и из того, что я помню, было больше похоже на астероиды, в том, что это был 2D -представление плана
Rogerclark
Вт 25 июля 2017 г. 7:26 утра
Я нашел то, что кажется хорошим списком векторных игр
http: // Викивизиально.com/wiki/категория: v ... cade_games
http: // Викивизиально.com/wiki/категория: v ... cade_games
Пито
Вт 25 июля 2017 г. 8:26 утра
Что касается заполнения: вы можете заполнить сплошными линиями - сторона TT или XERM достаточно быстра. Чтобы заполнить IE. Коробка 300x300 с линиями, необходимо отправить около 2700 байтов через сериал, с текущими USB -скоростями, скажем, 200 КБ/с. Это примерно 13 мс. Так что это не так "медленно". Было бы медленно при запуске терминала TEK через 9K6.
Пито
Вт 25 июля 2017 г. 8:53 утра
Например: заполнение коробки 300x300 с помощью сплошных линий
uint32_t elapsed = micros();
for (i=100; i<400; i++){
tek.Tekline(i,100,i,400);
}
elapsed = micros() - elapsed;
Пито
Вт 25 июля 2017 г. 9:22 утра
Читая источник TT, я вижу там интересную функциональность в отношении печати текстов.
Вы можете установить, например, ориентация на текст, 0, 90, 180, 270 град. Это здорово при рисовании графиков и диаграмм..
Вы можете установить, например, ориентация на текст, 0, 90, 180, 270 град. Это здорово при рисовании графиков и диаграмм..
Стивестронг
Вт 25 июля 2017 г. 9:39
[Пито - Вт 25 июля 2017 г. 8:53 утра] - Кстати, почему такой распространение?? (2.897 мс - 7.933 мс).Я могу думать только о скорости обработки хоста, у Libmaple USB есть буфер TX 2KB, использующий блокировку TX, и если команда Tekline () отправляет более 5 байтов, то буфер будет заполнен и позволит отправлять дальнейшие байты, только если Хозяин читает некоторые из ранее отправленных.
Так что на самом деле ~ 3 мс - это время, чтобы написать данные в буфере TX.
Rogerclark
Вт 25 июля 2017 г. 9:57 утра
Я не думаю, что стоит делать заполнение с линиями
Лучше найти клиента Python Tek 4010 и добавить новую команду для заполнения
Лучше найти клиента Python Tek 4010 и добавить новую команду для заполнения
Пито
Вт 25 июля 2017 г. 10:21
[Стивестронг - Вт 25 июля 2017 г. 9:39 утра] - Так что на самом деле ~ 3 мс - это время, чтобы написать данные в буфере TX.ОК, 8 мс - это реалистичное время для заполнения 300x300box..
Это не плохо при условии, что большинство потенциальных пользователей могут использовать эмулятор TEK для визуализации своих измерений, выполненных с их ..Duinos в форме простых 2D -графиков/диаграмм, с возможностью простой копии/вставки/сохранения/печати их графиков. И без необходимости связываться с программированием Windows.
Я не тестировал с XERM, но источники утверждают, что это тоже работает..
PS: Хотя я связывался с POC Spectrum Analyzer выше, полученного урока: получение данных - выборка данных ADC - занимает гораздо больше времени, чем обработка и построение их в окне TEK. Например, с скоростью отбора проб 100 кГц вам нужно 10 мсей, чтобы получить 1024 образца, вам необходимо в среднем спектры, чтобы получить некоторые хорошие результаты, я сделал с 64 спектрами, поэтому общее время для отбора проб данных составило 640 мс. Фактическая обработка FFT 64 спектров занимает может быть, может быть, в целом 100 мсек (FPU ON). Таким образом, скорость обновления спектров на экране TEK была ниже 1 секунды. Построение данных потребовалось 15 мс.
Zoomx
Вт 25 июля 2017 г. 12:09
Боевая зона! Да, давно. Поиск в списке, я люблю, что другая игра была космическими войнами, и я вспомнил еще один звездный замок, но я помню в BW, не по цвету.
Стивестронг
Вт 25 июля 2017 г. 12:55
Звездные волны с подростком: https: // trmm.net/starwars
Существует также демонстрация обработки: https: // github.com/osresearch/vst/tree/ ... Essingdemo
РЕДАКТИРОВАТЬ
Хотя это не TEK, но это последовательный монитор для отображения графики, в основном преобразование последовательных сообщений в графические элементы с использованием обработки.
Форум: https: // форум.Ардуино.CC/INDEX.PHP?Тема = 307293.0
GitHub: https: // github.com/nardj/htmlserialmonitor
Это выглядит очень многообещающе, стоит проверить, предлагает ли он больше преимуществ (скорость, определяемое графическое разнообразие элементов), чем эмулятор TEK.
Существует также демонстрация обработки: https: // github.com/osresearch/vst/tree/ ... Essingdemo
РЕДАКТИРОВАТЬ
Хотя это не TEK, но это последовательный монитор для отображения графики, в основном преобразование последовательных сообщений в графические элементы с использованием обработки.
Форум: https: // форум.Ардуино.CC/INDEX.PHP?Тема = 307293.0
GitHub: https: // github.com/nardj/htmlserialmonitor
Это выглядит очень многообещающе, стоит проверить, предлагает ли он больше преимуществ (скорость, определяемое графическое разнообразие элементов), чем эмулятор TEK.
Chismicro
Вт 25 июля 2017 г. 14:33
Хотя это не TEK, но это последовательный монитор для отображения графики, в основном преобразование последовательных сообщений в графические элементы с использованием обработки.
Форум: https: // форум.Ардуино.CC/INDEX.PHP?Тема = 307293.0 Это выглядит интересно. Вопрос в том, насколько быстро находится обновление дисплея по сравнению с TEK? Быстрое обновление может быть полезно для приложений осциллографа.
@Pito
Я только что сделал Библиотека Arduino на GitHub из этого.
Какое авторское право у тебя? GNU GPL 3 OK?
Форум: https: // форум.Ардуино.CC/INDEX.PHP?Тема = 307293.0 Это выглядит интересно. Вопрос в том, насколько быстро находится обновление дисплея по сравнению с TEK? Быстрое обновление может быть полезно для приложений осциллографа.
@Pito
Я только что сделал Библиотека Arduino на GitHub из этого.
Какое авторское право у тебя? GNU GPL 3 OK?
Chismicro
Пт 28 июля 2017 г. 6:06
Я сделал Маленький редактор спрайта для дисплея TEK.
Вот несколько спрайтов: улыбайтесь лицом
Pffddeeaaaiihhhhjjbbb ddpiae ddphbda bbbpahbd hhap
космический корабль
Peeaadeaaaaihaaiibbbbbbbbbbbbb
Space Invader1
Pdeefiaaaejiih dfphhj epbbbbbifdd apahbd aapahbd dddd
@Pito
Все еще открытый вопрос: какая лицензия программного обеспечения для ваших функций TEK?
Вот несколько спрайтов: улыбайтесь лицом
Pffddeeaaaiihhhhjjbbb ddpiae ddphbda bbbpahbd hhap
космический корабль
Peeaadeaaaaihaaiibbbbbbbbbbbbb
Space Invader1
Pdeefiaaaejiih dfphhj epbbbbbifdd apahbd aapahbd dddd
@Pito
Все еще открытый вопрос: какая лицензия программного обеспечения для ваших функций TEK?
Пито
Чт, 01 февраля 2018 13:04
Что GNU GPL 3 в порядке..
Кстати: было бы трудно написать небольшое приложение для победы:
1. Простое окно, сметочное, максимальное 4096x4096
2. Меню: настройки Comport, выбор типа шрифта, цвета бумаги/чернила.
3. он будет интерпретировать вышеупомянутые команды TEK..
Я думаю, что это проект выходного дня для кого-то, кто знает, как
PS: в Teraterm's The Color n. 0 - текущий «бумажный» цвет, и цвет n.7 - текущий цвет "чернила".
Цвета 1-6, как это определено в библиотеке.
Кстати: было бы трудно написать небольшое приложение для победы:
1. Простое окно, сметочное, максимальное 4096x4096
2. Меню: настройки Comport, выбор типа шрифта, цвета бумаги/чернила.
3. он будет интерпретировать вышеупомянутые команды TEK..
Я думаю, что это проект выходного дня для кого-то, кто знает, как
PS: в Teraterm's The Color n. 0 - текущий «бумажный» цвет, и цвет n.7 - текущий цвет "чернила".
Цвета 1-6, как это определено в библиотеке.
Mrburnette
Чт, 01 февраля 2018 г. 13:20
[Пито - Чт, 01 февраля 2018 г. 13:04] - <...>Не будет Обработка быть заданным?
Кстати: было бы трудно написать небольшое приложение для победы:
Есть также еще один компилятор C ++ только для Windows, с которым я играл много лет назад: Куинси
Насколько я помню, это хорошо сработало с графическим интерфейсом Windows.
Луча
Арпрос
Пн, 05 февраля 2018 г. 13:49
Клиент Android был бы действительно удобен. Несколько месяцев назад я начал писать что -то подобное для Android, но используя свой собственный хакерский протокол. Tek4010 был бы лучше.
электрический
Ср. 07 февраля 2018 г., 17:45
Я понятия не имел, что это происходит! Я катил свою собственную демонстрацию некоторое время назад. Похоже, мой код избыточный, за исключением использования набора символов Херши Вектор:
https: // форум.Ардуино.CC/INDEX.PHP?Тема = 523751.0
https: // форум.Ардуино.CC/INDEX.PHP?Тема = 523751.0