Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

question on build #2

Open
huskeyw opened this issue Mar 21, 2019 · 26 comments
Open

question on build #2

huskeyw opened this issue Mar 21, 2019 · 26 comments

Comments

@huskeyw
Copy link

huskeyw commented Mar 21, 2019

I built the code changing the pins for the usb keyboard and serial to match the hobytronics board.. I was hoping I could turn that into this card for use on a single board computer.
it builds and loads but then the screen goes to sleep.. I dont have a keyboard or even usb header connected..

this is the schematic for there board. not much different from what I can tell. if I am missing something do you mind letting me know. Thank you . PS I have never used a propeller processor before.. so I am guessing..

lines I changed
vt100.spin
' ser.StartRxTx(8, 9, 0, 115200) changed for hobytronics
' debug.StartRxTx(31, 30, 0, 115200) changed for hobytronics
ser.StartRxTx(30, 31, 0, 115200)

and in USB_FS_HOST.spin

' modified for the Hobytronics serail_VGA from
' DMINUS = 1
' DPLUS = 0
DMINUS = 3
DPLUS = 4

link to their board

http://www.hobbytronics.co.uk/datasheets/serialvga-schematic-1-0.pdf

@konimaru
Copy link

Your monitor shutting down is a bit suspicious. Can it handle 720x400?

@maccasoft
Copy link
Owner

Aside from the monitor not supporting the resolution, I don't see other problems with that board. I suggest to upload the code without modifications and see if the monitor works (you should see only the cursor at the top-left corner as the screen will be blank at startup). You may also see LED2 flashing while the USB stack attempts to poll the device.

If you want to try the 640x400 resolution, remove the '.nine' word from the vga object line to pick up the old driver:

    'vga    : "waitvid.80x25.nine.driver" ' 720x400
    vga    : "waitvid.80x25.driver" ' 640x400

@huskeyw
Copy link
Author

huskeyw commented Mar 21, 2019 via email

@huskeyw
Copy link
Author

huskeyw commented Mar 21, 2019

tried with no changes.. .also changed the resolution to use the 640x480, no video seen by the monitor. I reloaded the Hobytronics build and it comes right up. I wonder if the USB needs to see a keyboard or some input (serial did not work not even debug.. )

I wonder if the USB needing an unconnected PIN, and its not in the schematic but if pin 2 is tied to ground, would that mess up the boot?

will probaly order your board for the RC2014 so I can see how its suppose to work, I can send you this card if you want to play with it..

@maccasoft
Copy link
Owner

The USB stack needs an unconnected pin for its internal syncrhonization, that is P2 defined as USBNC, from the Hobbytronic schematic there is nothing on P2 so that's not a problem. Anyway, that will affect the USB stack only, all other sections are independent. If you open vt100.spin you'll see the startup sequence from line 105, the VGA driver is started at line 126 after the initial setup so you should at least see a blank screen. I haven't asked but are you really sure that the monitor goes to sleep and it isn't just displaying a blank screen right ?

Also, from the debug serial port (the one connected to the prop-plug adapter pm P30/P31) you should see at least the 'USB Started' message, if you see nothing maybe something else is wrong here. If you are using propeller-load try with the following command:

propeller-load -p /dev/ttyUSB0 -e -r -t115200 vt100.binary

It should keep the terminal open and let you see the messages from the debug serial port.

Are you compiling / uploading vt100.spin right ? Not other files. Spin programs are not like other sources, they need a "root" source that calls all others, in this case is vt100.spin. If you attempt to compile and upload other files it won't work.

@huskeyw
Copy link
Author

huskeyw commented Mar 21, 2019 via email

@konimaru
Copy link

What's the exact model/make of the monitor you have?

@huskeyw
Copy link
Author

huskeyw commented Mar 22, 2019

compiled with leaving the port open,
D:\propeller-vt100-terminal-master\propeller-vt100-terminal-master>propeller-load -p /com12 -e -r -t115200 vt100.binary
Propeller Version 1 on /com12
Loading vt100.binary to EEPROM via hub memory
23644 bytes sent
Verifying RAM ... OK
Programming EEPROM ... OK
Verifying EEPROM ... OK
[ Entering terminal mode. Type ESC or Control-C to exit. ]
^C
D:\propeller-vt100-terminal-master\propeller-vt100-terminal-master>openspin -b -u vt100.spin
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2018 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.81 Compiled on Apr 27 2018 09:13:30
Compiling...
vt100.spin
|-usb-fs-host.spin
|-com.serial.spin
|-com.serial.terminal.spin
|-com.serial.spin
|-string.integer.spin
|-waitvid.80x25.nine.driver.spin
|-generic9x16-4font.spin
|-i2c.spin
|-keymap_it.spin
|-keymap_uk.spin
|-keymap_us.spin
|-keymap_fr.spin
|-keymap_de.spin
|-keymap_no.spin
Done.
Unused Method Elimination:
73 methods removed
1 objects removed
1788 bytes saved

Program size is 23644 bytes

D:\propeller-vt100-terminal-master\propeller-vt100-terminal-master>propeller-load -p /com12 -e -r -t115200 vt100.binary
Propeller Version 1 on /com12
Loading vt100.binary to EEPROM via hub memory
23644 bytes sent
Verifying RAM ... OK
Programming EEPROM ... OK
Verifying EEPROM ... OK
[ Entering terminal mode. Type ESC or Control-C to exit. ]

no output from the serial port..

my monitors
dell us2410
dell e151fpb

@konimaru
Copy link

re: serial, I noticed you swapped the pins (31/30) in your first post. Was that on purpose?

@konimaru
Copy link

Odd, both monitors should be able to handle 720x400@70Hz.

@huskeyw
Copy link
Author

huskeyw commented Mar 22, 2019 via email

@huskeyw
Copy link
Author

huskeyw commented Mar 22, 2019 via email

@maccasoft
Copy link
Owner

Out of curiosity, I have uploaded the serialVGA firmware to one of my boards and it works, without changes.

If you want to try one last thing, the following is the bare minimun code needed to start the vga driver:

PUB start | temp

    wordfill(@scrn, $41_70, scrn_bcnt)
    cursor.byte[CX] := 0
    cursor.byte[CY] := 0
    cursor.byte{CM} := (cursor.byte{CM} & constant(!CURSOR_MASK)) | CURSOR_ON | constant(CURSOR_ULINE | CURSOR_FLASH)

    link{0} := video | @scrn{0}
    link[1] := font.addr
    link[2] := @cursor
    vga.init(-1, @link{0})

Replace the init method (or rename the existing to init2 and add the above before it, must be the first method in the source), compile and upload. Make sure to keep indentation and the like, spin source depends on indentation like Python, one row not aligned correctly and the program may not work as expected.

@konimaru
Copy link

konimaru commented Mar 25, 2019

For the record, I just tried the built-in demos for C0DF and NINE on a Dell U2412M (at work) and I do get a perfectly normal VGA image (720x400@70).

h/w is Quickstart with HIB.

@huskeyw
Copy link
Author

huskeyw commented Mar 25, 2019 via email

@konimaru
Copy link

Had a closer look at the schematic last night, is it just me or aren't there any decoupling capacitors at all? No wonder this board freaks out with odd loads.

@huskeyw
Copy link
Author

huskeyw commented Mar 27, 2019 via email

@huskeyw
Copy link
Author

huskeyw commented Mar 27, 2019 via email

@konimaru
Copy link

.. but like I said, Ill send you this board if you want to hack on it.. no real reason but curiosity, but the offer is still there. William "Steve" Huskey Managing Member Dreadnought Brewing LLC

OK, oddly enough I'd like to see this one through :) Do you have an email I can send my details to?

@huskeyw
Copy link
Author

huskeyw commented Mar 27, 2019 via email

@konimaru
Copy link

konimaru commented May 8, 2019

For the record, I received the offending item and have a look.

@konimaru
Copy link

konimaru commented May 9, 2019

Progress so far (programming done with PropPlug):

  • I decided to wire BOE to GND (was floating)
  • anything I could throw at it just worked (specifically video stuff)

@huskeyw
Copy link
Author

huskeyw commented May 9, 2019 via email

@konimaru
Copy link

konimaru commented May 9, 2019

It worked before as well, just programming the chip was a bit hit and miss.

I'm a bit puzzled by this. While I still think they should have added decoupling Cs there seems to be nothing wrong with it otherwise. How exactly did you program this thing (RAM/EEPROM, type of cable)? I recall you saying that the original firmware worked but other stuff did not so it can't really be the way it was programmed ...

@cbmeeks
Copy link

cbmeeks commented May 9, 2019

I've built many Prop video circuits on breadboards and have only put caps near power pins. But that BOE pin should always be grounded. Perhaps it can sometimes float with no issues but I suggest grounding. If you look at the Propeller reference guide, you will see it's grounded.

Probably an oversight on that hobby board.

@huskeyw
Copy link
Author

huskeyw commented May 9, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants