Thinner-Client-master

所属分类:其他
开发工具:Visual C++
文件大小:41431KB
下载次数:0
上传日期:2019-05-18 17:58:04
上 传 者vikey
说明:  Codes all about C, C++. STM32, Lora. Codes all about C, C++. STM32, Lora

文件列表:
Thinner-Client-master (0, 2019-05-18)
Thinner-Client-master\Datasheets and App Notes (0, 2019-05-18)
Thinner-Client-master\Datasheets and App Notes\AN2xxx - Interfacing a PS2 Keyboard Using SPI Slave.pdf (390171, 2010-09-01)
Thinner-Client-master\Datasheets and App Notes\cortexm3-datasheet.pdf (2247922, 2010-09-01)
Thinner-Client-master\Datasheets and App Notes\how to st.pdf (10246893, 2010-09-01)
Thinner-Client-master\Datasheets and App Notes\stm32 bootloader.pdf (348817, 2010-09-01)
Thinner-Client-master\Datasheets and App Notes\stm32 dma.pdf (141503, 2010-09-01)
Thinner-Client-master\Datasheets and App Notes\stm32 hardware design.pdf (372555, 2010-09-01)
Thinner-Client-master\Datasheets and App Notes\stm32 insider.pdf (6786646, 2010-09-01)
Thinner-Client-master\Datasheets and App Notes\stm32f10 reference manual.pdf (10246893, 2010-09-01)
Thinner-Client-master\Datasheets and App Notes\stm32f103cb datasheet.pdf (1465319, 2010-09-01)
Thinner-Client-master\Eagle Files (0, 2019-05-18)
Thinner-Client-master\Eagle Files\ng.lbr (59116, 2010-09-01)
Thinner-Client-master\Eagle Files\stm32.lbr (25622, 2010-09-01)
Thinner-Client-master\Eagle Files\tclient-rev3.brd (23153, 2010-09-01)
Thinner-Client-master\Eagle Files\tclient-rev3.sch (73540, 2010-09-01)
Thinner-Client-master\Font Stuff (0, 2019-05-18)
Thinner-Client-master\Font Stuff\6x8font.png (2915, 2010-09-01)
Thinner-Client-master\Font Stuff\outFont.png (1839, 2010-09-01)
Thinner-Client-master\Font Stuff\MakeFontFile (0, 2019-05-18)
Thinner-Client-master\Font Stuff\MakeFontFile\Font6x8.c (30922, 2010-09-01)
Thinner-Client-master\Font Stuff\MakeFontFile\inFont.png (1839, 2010-09-01)
Thinner-Client-master\Font Stuff\MakeFontFile\MakeFontFile.pde (1527, 2010-09-01)
Thinner-Client-master\Misc (0, 2019-05-18)
Thinner-Client-master\Misc\BOM.xlsx (58339, 2010-09-01)
Thinner-Client-master\Misc\ntscsynth01.xls (28160, 2010-09-01)
Thinner-Client-master\Pictures (0, 2019-05-18)
Thinner-Client-master\Pictures\board.JPG (1679783, 2010-09-01)
Thinner-Client-master\Pictures\photo 1.JPG (334430, 2010-09-01)
Thinner-Client-master\Pictures\photo 2.JPG (361404, 2010-09-01)
Thinner-Client-master\Source Code (0, 2019-05-18)
Thinner-Client-master\Source Code\defs.h (967, 2010-09-01)
Thinner-Client-master\Source Code\Font6x8.h (31129, 2010-09-01)
Thinner-Client-master\Source Code\interrupts.c (1044, 2010-09-01)
Thinner-Client-master\Source Code\interrupts.h (681, 2010-09-01)
Thinner-Client-master\Source Code\keycodes.h (1053, 2010-09-01)
Thinner-Client-master\Source Code\main.c (1284, 2010-09-01)
Thinner-Client-master\Source Code\makefile (3783, 2010-09-01)
... ...

This project implements an STM32F based thin client which can send and receive data over serial, read a PS/2 keyboard, and display the contents of a 480x240 framebuffer on an NTSC television. The included main.c implements a vt100 serial terminal with 80x24 characters. Tools are also included to upload vial the STM32F's build in bootloader and an FTDI cable. In order to make it work (and if you are using bash and Ubuntu) paste the following into /etc/init/ttyUSB0.conf: ****************************************************************** start on stopped rc RUNLEVEL=[2345] stop on runlevel [!2345] respawn exec /sbin/getty -L 57600 ttyUSB0 vt100 ****************************************************************** Now you can start and stop the ttyUSB0 login process using sudo [start, stop] ttyUSB0 Put this in your /etc/bash.bashrc to actually give the serial port the login process: ****************************************************************** if [ "$TERM" == "vt100" ]; then export TERM=xterm export ROWS=25 export COLUMNS=80 export LANG=POSIX # Redundant settings, for other folks export LINES=$ROWS stty rows $ROWS stty cols $COLUMNS fi ****************************************************************** The board is designed so that the top layer can be made at home, with some easy drillable/solderable vias to a ground plane on the back side. The SD card slot is the only thing on the bottom of the 2 layer design, and is not important at this point (it isn't even supported in the code yet, and isn't included on the BOM). If you want to write your own NTSC display stuff using this project, all you have to do (assuming you already have the arm toolchain) is make a main.c which includes the following: stm32f10x.h stm32f10x_exti.h thinnerclient.h as well as a call to thinnerClientSetup(); then, you have access to the following: frameBuffer[BUFFER_VERT_SIZE][BUFFER_LINE_LENGTH]; uint8_t buffer_get_key() uint8_t buf_dequeue() anything written to frameBuffer appears on the screen. buffer_get_key and buf_dequeue retrieve bytes from the keyboard buffer and USART receive buffer, respectively. check out thinnerclient.h and thinnerclient.c for details. Known bugs: -Slight screen glitching because of serial receive and keyboard interrupts. Fixing this may involve messing with the interrupt priorities -A bit of RAM can be freed by putting the font into program memory. However, this causes a small glitch near the top of the screen when the framebuffer is refreshed every frame. ****************************************************************** xvsmfbg stands for X virtual shared memory frame buffer grabber. It is designed to grab frames from Xvfb, and spit them at a fixed rate to stout. You can use it to send frames from your computer to a thinner client and display them on a TV. The code to implement this is not currently in this repo, but it should be pretty simple to write - just read stuff out of the serial buffer and put into the frame buffer. ****************************************************************** David Cranor cranor (at) media (dot) mit (dot) edu 8/31/2010

近期下载者

相关文件


收藏者