1
0
mirror of git://projects.qi-hardware.com/ben-blinkenlights.git synced 2025-04-21 12:27:27 +03:00
Commit Graph

146 Commits

Author SHA1 Message Date
Werner Almesberger 1c51cc6757 swuart/: merge library part into libubb 2012-12-17 22:16:32 -03:00
Werner Almesberger 2e749f901c swuart/: split general UART functions from application
... in preparation for making it a library.
2012-12-17 18:43:51 -03:00
Werner Almesberger b4530ffc4d ioscript/ioscript: allow positions to be redefined
For that purpose, we reset the mapping each time a new set of definitions
is encountered.
2012-12-17 14:41:23 -03:00
Werner Almesberger 8816dcfa3c swuart/: use a hardware timer and allow full-duplex operation 2012-12-17 12:31:27 -03:00
Werner Almesberger 4689882497 swuart/: half-duplex software UART for UBB (WIP) 2012-12-17 00:45:21 -03:00
Werner Almesberger 2c52dac4ca libubb/: helper library for UBB access 2012-12-17 00:44:48 -03:00
Werner Almesberger 025726e48b ioscript/: script-based toggling of IO pins (for device testing) 2012-11-06 12:05:52 -03:00
Werner Almesberger a628cfa33c avrduded/patches/: remove ATmega32u2 config entry
Avrdude 5.11.1 already comes with an ATmega32u2 configuration.
2012-07-22 13:16:12 -03:00
Werner Almesberger acac482908 avrdude/patches/local-config.patch: new option -L to add local config files
This can be used to add project-specific programmers, such as
nanonote_atusb, nanonote_antorcha, etc.
2012-07-22 12:00:36 -03:00
Werner Almesberger 266fe49f0c avrdude/patches/nanonote.patch: clean up initialization of pin_map 2012-07-22 10:51:09 -03:00
Werner Almesberger 6b838ee479 avrdude/: support use of CLK for regular I/O 2012-07-22 10:51:09 -03:00
Werner Almesberger f67681360f avrdude/: upgrade from avrdude-5.10 to avrdude-5.11.1
Only one trivial context mismatch. Plus a refresh of all the patches.
2012-07-22 10:34:42 -03:00
Werner Almesberger 2f65672dfc avrdude/patches/nanonote.patch: fix pin inversion in nanonote.c:nanonote_getpin 2012-07-22 09:52:55 -03:00
Werner Almesberger b0e83a9202 avrdude/: make patches relative to avrdude-<version> directory
This way, the path names in the patch files stay the same across
avrdude versions.
2012-07-22 02:37:19 -03:00
Werner Almesberger 9942f62cb8 ubb-vga/regs4740.h: add some more register locations 2012-07-22 02:31:38 -03:00
Werner Almesberger d897d8fcac ubb-usb/pin-change.fig: corrected some small errors in drawing or style 2011-10-05 03:43:33 -03:00
Werner Almesberger f8185f4e65 ubb-usb/pin-change.fig: illustration of how to change multiple pins with a single write 2011-10-04 20:40:36 -03:00
Werner Almesberger bdd95bdbf8 ubb-usb/Makefile: added PDF generation 2011-10-04 12:49:13 -03:00
Werner Almesberger 540f224962 ubb-usb/: concept drawing of simple UBB-USB hardware 2011-10-04 12:44:48 -03:00
Werner Almesberger 70ca7a5676 Merge branch 'master' of projects.qi-hardware.com:ben-blinkenlights 2011-08-14 02:55:47 -03:00
Werner Almesberger 9bb36e668d Moved atmega48-mmu symbol from ben-blinkenlights to kicad-libs (deletion) 2011-08-14 02:53:58 -03:00
Werner Almesberger d16acb6295 Moved atmega48-mmu symbol from ben-wpan to kicad-libs (deletion) 2011-08-14 02:48:53 -03:00
Werner Almesberger a4ca380663 nxuart/nxuart.pro: updated for move of atmega48-mmu symbol 2011-08-14 02:48:53 -03:00
Werner Almesberger 437eafe2cc nxuart/nxuart.pro: updated for move of qfn.fpd 2011-08-14 00:41:20 -03:00
Werner Almesberger 92ce05358b ubb-vga.c (usage): correct synopsis (-r is now called -m) 2011-07-04 15:09:22 -03:00
Werner Almesberger cd3dbc04f0 avrdude/README: added build instructions for making a static executable 2011-05-10 17:47:38 -03:00
Werner Almesberger 19c04403c0 ubb-vga/web/index.html: correction - it's the response we fake, not the "busy"
"Busy" is actually another signal, on DAT0, and sent betweeen blocks.
We don't fake that one (so far), although the mechanism would be similar.
2011-05-07 17:48:30 -03:00
Werner Almesberger 88e09d003b index.html: moved author's name; file format of images we can load was incorrect
- index.html: don't boastfully start the page with my name. The footer
  will do well enough.
- index.html: the image format we can load is PPM (pixmap), not PNM
  (anymap)
2011-05-07 13:51:46 -03:00
Werner Almesberger f1efa9ed59 ubb-vga/web/index.html: added links to #qi-hardware and the mailing list 2011-05-07 10:16:58 -03:00
Werner Almesberger 91bc5eacdd ubb-vga/web/: link to medium-size images, not full size; some rewording
- Makefile, index.html: generate Web-friendly 1024x768 images and link
  to these, instead of the full-sized monsters
- index.html: minor rewording
- index.html: corrected capitalization of "NanoNote"
2011-05-07 09:49:39 -03:00
Werner Almesberger 0937c4abec ubb-vga/web/index.html: minor wording improvement; give images more space 2011-05-07 05:17:22 -03:00
Werner Almesberger 3f054e1f90 ubb-vga/web/index.html: some changes in wording and text structure 2011-05-07 05:11:58 -03:00
Werner Almesberger 64e74ab63c ubb-vga/web/: generate a Web page describing UBB-VGA (im progress) 2011-05-07 04:46:43 -03:00
Werner Almesberger ba1d297643 ubb-vga: new option -2 to keep on refreshing the LCD display (experimental)
"Experimental" means that it doesn't seem to work at the moment.

- regs4740.h (_LCD, LCDCTRL): added the LCD control register
- ubb-vga.c (old_lcdctrl, tame_lcd, restore_lcd): make the LCD controller
  use short bursts, to reduce the bus access latency for other users
- ubb-vga.c (keep_lcd, setup_noirq, cleanup_noirq, usage, main): new
  option -2 to keep on refreshing the LCD display
2011-05-06 20:19:38 -03:00
Werner Almesberger f7e8fbbaea ubb-vga.c: moved timer setup and LCD disabling into noirq setup
- ubb-vga.c (ben_setup, setup_noirq): moved calls to disable_lcd and
  get_timer to setup_noirq
- ubb-vga.c (cleanup, cleanup_noirq): moved calls to release_timer
  and enable_lcd to cleanup_noirq
- ubb-vga.c (cleanup, main): "cleanup" is now empty; removed it
2011-05-06 19:36:34 -03:00
Werner Almesberger 6c3adaf08f ubb-vga/Makefile (vga-ben-back.png): also generate the PCB back side image 2011-05-04 14:13:04 -03:00
Werner Almesberger 3b4f72de1c ubb-vga: added draft of "productized" assembly
- prod-assembly-draft.fig: assembly drawing
- Makefile (vga-ben-front.png): render the PCB's front
2011-05-04 13:45:19 -03:00
Werner Almesberger 6f5a8ccf5a ubb-vga: added draft for "productized" design
- vga-ben.pro, vga-ben.sch, vga-ben.cmp, vga-ben.pro: similar to
  ubb-vga.sch, but with R and Y swapped (for better grounding), the VGA
  connector replaced by solder pads, and added pads for the shield
- Makefile (schp, brd): new targets for editing vga-ben
2011-05-04 12:46:34 -03:00
Werner Almesberger 01d33e28a7 ubb-vga.c (delay): try to compensate for APB jitter (experimental)
First, we extend all deadlines a litte to make sure we never have to
wait negative time. Second, we get the timer value at the end of the
wait and CPU-loop for the difference between the actual value and the
ideal (extended) value.
2011-05-03 12:09:24 -03:00
Werner Almesberger 72235b9212 ubb-vga/README: first 640x480 success with the 206NW; housekeeping
- README: added Samsung 206NW results for "640x480/61"
- README: fixed typo in W2243L "800x600/56" entry
2011-05-03 12:09:11 -03:00
Werner Almesberger 5817669968 ubb-vga: try to clock MSC faster than the MMC bus; new video mode "640x480/61"
- ubb-vga.c (mode_db): added new mode "640x480/61"
- ubb-vga.c (setup, line): MSC_CLKRT is reset when the MSC resets. Moved
  it from "setup" to "line".
- ubb-vga.c (clkrt, setup, line): pick the highest available MSC clock
  and adjust the bus clock divider accordingly
- ubb-vga.c (main): added commented-out clock debugging output
- README: added XEN-1510T result for "640x480/61"
2011-05-03 10:19:16 -03:00
Werner Almesberger 887012a58a ubb-vga/README: added results for Samsung LN32R71B TV 2011-05-02 20:45:44 -03:00
Werner Almesberger 77adf43551 ubb-vga/README: moved old content away and added new compatibility test results
- README.old: moved old content here
- README: updated and extended compatibility chart
2011-05-02 20:06:46 -03:00
Werner Almesberger 3686153943 ubb-vga: housekeeping
- ubb-vga.c: added "friendly" 640x480 mode based on
  http://faculty.lasierra.edu/~ehwang/public/mypublications/VGA Monitor Controller.pdf
- README: added regressions and a new challenge
2011-05-02 07:10:52 -03:00
Werner Almesberger 6d8c8dd951 ubb-vga: use a free-running counter instead of resetting it for each line
Two benefits:
1) We don't accumulate errors from the delay between the timer reset and
   the deadline preceding it
2) In the future, we may use WAIT to wait for timer expiration, which
   should cause less bus activity and is should also reduce jitter

- regs4740.h (TFR. TFSR, TFCR, TDHR): added more timer registers
- ubb-vga.c (until): renamed to "delay" and changed to measure relative
  to the last deadline
- ubb-vga.c (line, hdelay, frame): replaced "until" with "delay"
- ubb-vga.c (hdelay, frame, session): reset the timer only once, at
  the beginning of the session
- ubb-vga.c (frame): we didn't wait for the horizontal back porch of
  the last image line
2011-05-02 06:11:29 -03:00
Werner Almesberger a3cea3573c ubb-vga: send a line's last DMA transfer also if only partially filled
This caused 800x600 images to be cut off, because the line length is
not a multiple of 64 bytes.

- ubb-vga.c (session): make the allocation a multiple of the DMA
  transfer size
- ubb-vga.c (line): round number of transfers up instead of down
- ubb-vga.c (mode_db): line duration of 800x600/54 was a bit to short
2011-05-02 05:25:15 -03:00
Werner Almesberger 3ea6b9852e ubb-vga: make lines end in black (and not in overscan)
- ubb-vga.c (line): send a 0 word at the end of the line, to avoid
  overscan (we use PIO to synchronize with CPU timing)
- ubb-vga.c (mode_db): updated line length of 640x480 resolutions for
  correct termination
2011-05-02 05:16:19 -03:00
Werner Almesberger 0dbf29e599 physmem.c: improved correctness and efficiency of alignment
- physmem.c (align_brk): don't waste memory if already aligned
- physmem.c (ALIGN, calloc_phys_vec): align by DMA transfer size
- physmem.c (calloc_phys_vec): make sure allocations don't straddle
  page boundaries
- physmem.c (xlat_one): print "unsigned long" with %lx, not %x
2011-05-02 04:43:18 -03:00
Werner Almesberger 893884c91f ubb-vga/README: added to do list 2011-05-01 23:32:24 -03:00
Werner Almesberger 319d8a044b tstimg.c (tstimg): adjust size and position of parameters according to yres 2011-05-01 23:19:57 -03:00