Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
lucky1

Pin2Dmd Real Pinball Support

Recommended Posts

Hi,

No I did not create the palletes.dat file yet because I have not built the display yet. I am just working on the editor to see what the results should be like.

When I run the animation I don't see the pallet swap happen.

Should I be able to see it happen in the editor?

The updated palette is only visible on the dmd ;)

let us check it for you :D

 

Greets,

Dom

Share this post


Link to post
Share on other sites

Hi,

Thanks for the offers I will send project, but how do I add an attachment to this forum?

I don't see an icon for attachments in the forum editor.

Regards

Mario.

Share this post


Link to post
Share on other sites

Hi,

I attached Project, Just has two Keyframes and two pallet changes, should change from default, to DCS to Space.

In intro.

STTNG_mario.xml

Share this post


Link to post
Share on other sites

I tried to upload .dat file but forum tells me I am not permitted to upload that kind of file.

So I made it a zip file.

Is it only supposed to be 1kb?

Regards

Mario.

STTNG_mario.zip

Share this post


Link to post
Share on other sites

no data file, only dump

 

c:\tmp\dump.txt.gz

Share this post


Link to post
Share on other sites

Hi,

Thank you for your patience and sorry for my lack of understanding, I believe the file that my xml refers to is c:\tmp\sttng2.txt.gz which is what I have attached to this response.

Thanks again.

sttng2.txt.gz

Share this post


Link to post
Share on other sites

Hi .

I now have all my parts together.

However I don't see anything on my display.I followed the Programming firmware document and did see the BUILD Successful message but all the following before it

 

GCC HOME: C:\Program Files\GNU Tools ARM Embedded\4.9 2015q3\bin

compile:

[mkdir] Created dir: C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\pin2dmd\Debug\bin

[mkdir] Created dir: C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\pin2dmd\Debug\obj

[cc] 40 total files to be compiled.

[cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -Wall -ffunction-sections -g -O0 -std=c99 -c -DSTM32F407VG -DSTM32F4XX -DUSE_STDPERIPH_DRIVER -D__ASSEMBLY__ -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\fatfs\lo_level_ub -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\fatfs -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\include -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_boot -IC:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\stm32f4xx_syscfg.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usb_core.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\spi_out.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_usr.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\stm32f4xx_usart.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\fatfs\diskio.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_boot\startup\startup_stm32f4xx.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\stm32_winusb.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_core.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\framebuffer.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\stm32_ub_fatfs.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\stm32f4xx_rcc.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\stm32_ub_systick.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\display.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_desc.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\stm32_ub_spi2.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_winusb_core.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\rgb_out.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\fatfs\lo_level_ub\stm32_ub_sdcard.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\stm32f4xx_gpio.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\fatfs\lo_level_ub\stm32_ub_usbdisk.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\stm32f4xx_flash.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\md5.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_boot\system_stm32f4xx.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\syscalls\syscalls.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\stm32f4xx_dma.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usb_bsp.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_req.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usb_dcd_int.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\fatfs\lo_level_ub\stm32_ub_atadrive.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\fatfs\ff.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\stm32f4xx_spi.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\stm32f4xx_exti.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\misc.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usb_dcd.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\matrix.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_ioreq.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\spi_in.c C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\cmsis_lib\source\stm32f4xx_tim.c

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\stm32_winusb.c: In function 'WINUSB_SendData':

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\stm32_winusb.c:77:5: warning: implicit declaration of function 'USBD_WINUSB_SendReport' [-Wimplicit-function-declaration]

[cc] if(USBD_WINUSB_SendReport (&USB_OTG_dev, USB_WINUSB_IN_BUF, WINUSB_IN_BUFFER_SIZE)!=USBD_OK) {

[cc] ^

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c: In function 'LedSet':

[cc] void LedSet(pin, val) {

[cc] ^

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c:80:6: warning: type of 'pin' defaults to 'int'

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c:80:6: warning: type of 'val' defaults to 'int'

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c: In function 'write_file':

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c:266:4: warning: implicit declaration of function 'WINUSB_SendData' [-Wimplicit-function-declaration]

[cc] WINUSB_SendData(0x00,1);

[cc] ^

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c: In function 'GottliebLoop':

[cc] ^

[cc] if(WINUSB_GetStatus()==USB_WINUSB_CONNECTED) {

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c: In function 'PinMameRGBLoop':

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c:857:7: warning: unused variable 'showDebug' [-Wunused-variable]

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\main.c:569:5: warning: implicit declaration of function 'WINUSB_GetStatus' [-Wimplicit-function-declaration]

[cc] bool showDebug = false;

[cc] ^

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_desc.c:102:1: warning: excess elements in array initializer

[cc] ^

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_desc.c:102:1: warning: (near initialization for 'USBD_OSStrDesc')

[cc] };

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_winusb_core.c: In function 'USBD_WINUSB_DataOut':

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_winusb_core.c:259:54: warning: passing argument 2 of 'USB_OTG_ReadPacket' makes pointer from integer without a cast

[cc] USB_OTG_ReadPacket((USB_OTG_CORE_HANDLE*)pdev, *USB_WINUSB_OUT_BUF, WINUSB_OUT_BUFFER_SIZE);

[cc] ^

[cc] In file included from C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usb_dcd.h:12:0,

[cc] from C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_core.h:12,

[cc] from C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_ioreq.h:14,

[cc] from C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_winusb_core.h:14,

[cc] from C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_winusb_core.c:9:

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usb_core.h:270:17: note: expected 'uint8_t *' but argument is of type 'uint8_t'

[cc] void* USB_OTG_ReadPacket (USB_OTG_CORE_HANDLE *pdev ,

[cc] ^

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_winusb_core.c:270:11: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]

[cc] ^

[cc] memcpy(rxbuf+rxbuf_ptr,USB_WINUSB_OUT_BUF,USB_WINUSB_RecData_Len);

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_winusb_core.c:270:11: warning: incompatible implicit declaration of built-in function 'memcpy'

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_req.c: In function 'USBD_VendDevReq':

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_req.c:113:15: warning: unused variable 'ret' [-Wunused-variable]

[cc] ^

[cc] USBD_Status ret = USBD_OK;

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\ub_lib\usb_lolevel\usbd_req.c:134:1: warning: control reaches end of non-void function [-Wreturn-type]

[cc] }

[cc] ^

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\spi_in.c: In function 'DMA2_Stream0_IRQHandler':

[cc] C:\Users\mario\Documents\Pin2Dmd\Rev1.21\PIN2DMD-master\firmware\source\src\spi_in.c:670:7: warning: unused variable 'foo' [-Wunused-variable]

[cc] int foo = SPI1->DR;

[cc] ^

[cc] Starting link

[cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -g -nostartfiles -Wl,-Map=PIN2DMD.map -O0 -Wl,--gc-sections -LC:\CooCox\CoIDE\configuration\ProgramData\PIN2DMD -Wl,-TC:\CooCox\CoIDE\configuration\ProgramData\PIN2DMD/arm-gcc-link.ld -g -o PIN2DMD.elf ..\obj\stm32f4xx_syscfg.o ..\obj\usb_core.o ..\obj\spi_out.o ..\obj\usbd_usr.o ..\obj\stm32f4xx_usart.o ..\obj\diskio.o ..\obj\startup_stm32f4xx.o ..\obj\stm32_winusb.o ..\obj\usbd_core.o ..\obj\main.o ..\obj\framebuffer.o ..\obj\stm32_ub_fatfs.o ..\obj\stm32f4xx_rcc.o ..\obj\stm32_ub_systick.o ..\obj\display.o ..\obj\usbd_desc.o ..\obj\stm32_ub_spi2.o ..\obj\usbd_winusb_core.o ..\obj\rgb_out.o ..\obj\stm32_ub_sdcard.o ..\obj\stm32f4xx_gpio.o ..\obj\stm32_ub_usbdisk.o ..\obj\stm32f4xx_flash.o ..\obj\md5.o ..\obj\system_stm32f4xx.o ..\obj\syscalls.o ..\obj\stm32f4xx_dma.o ..\obj\usb_bsp.o ..\obj\usbd_req.o ..\obj\usb_dcd_int.o ..\obj\stm32_ub_atadrive.o ..\obj\ff.o ..\obj\stm32f4xx_spi.o ..\obj\stm32f4xx_exti.o ..\obj\misc.o ..\obj\usb_dcd.o ..\obj\matrix.o ..\obj\usbd_ioreq.o ..\obj\spi_in.o ..\obj\stm32f4xx_tim.o

Program Size:

74496 9372 107964 191832 2ed58 PIN2DMD.elf

text data bss dec hex filename

 

BUILD SUCCESSFUL

Total time: 9 seconds

 

You can see above many warnings.

I connected the displays and STM board as show in the documents using an add on board.

I inserted a BLANK sd card into the microSD card reader.

Should it not be blank?

The Red LED next to the reset button is lit. When I press and hold the reset button it goes out but comes back on after releasing the reset button.

The LD1 led on the STM board is flashing about 1 time per second.

I don't have a PC connected to the STM board.

Just External power and HUB75 cable to Led displays. The 5V power supply is rated at 10Amp.

Share this post


Link to post
Share on other sites

What do you mean with "an add on board" ? Is it selfmade ? LED status as described is O.K.

Most likely your SD-Card is not supported. I assume you uploaded the firmware.

Please check the cabeling to the display.

Share this post


Link to post
Share on other sites

BTW here is a video of PIN2DMD connected to a Circus Voltaire WPC95 machine

 

  • Upvote 1

Share this post


Link to post
Share on other sites

BTW here is a video of PIN2DMD connected to a Circus Voltaire WPC95 machine

 

Man.. that is beautiful!

Share this post


Link to post
Share on other sites

Hi Lucky,

Thanks for this fantastic project. I have had some success.

First yes I have had some Shield PCB's made. I used Uncle sashs Eagle files he put on his site. I don't use eagle so I converted them to Design Spark 7.1 and moved things around a little and created the manufacturing Gerber files and sent to manufacturer.

It was my mistake on the board I soldered the 16 pin IDC socket with the positioning notch on the wrong side.

I just made a different cable and its working now.

The shield and the stm32 will mount onto the acrylic plate I cut out to fit the displays. they fit perfectly into my WPC era machines.

The three attached images show my progress.

 

post-10115-0-72847700-1453965615_thumb.jpg

post-10115-0-97426600-1453965825_thumb.jpg

post-10115-0-60409800-1453965865_thumb.jpg

Share this post


Link to post
Share on other sites

Great !! I made the same mistake with my first pcb. I pulled the plastic frame from the pins and slided

it over the other way around. But crossover cable is also working ;-)

Share this post


Link to post
Share on other sites

Hi,

Next step connect to real pinball machine Failed.

I put the pin2dmd.dat file on three different microSD cards.

For two of the microSD cards when the machine is on the DMD just displays the PIN2DMD logo and the phrase VIrtual Pinball at the bottom of the screen.

For the other microSD card when the machine is on the DMD jus displays the PIN2DMD logo BUT the word WILLIAMS appears at the bottom of the screen instead of the phrase Virtual Pinball.

 

The second card is a 2GB  card and the first two are 1GB cards.

Any ideas?

Share this post


Link to post
Share on other sites

how to insert an SD card and a reset (black button), red led light ??

Share this post


Link to post
Share on other sites

I would go for the third SD Card and connect the real pinball machine to the pinheader.

If wiring is correct blue LED should start blinking (receive DATA from pinball machine)

Share this post


Link to post
Share on other sites

Hi Lucky,

SUCCESS!!!!!!!!!!

I had already changed the cable around but did not check blue light. I changed it back again to make standard DMD run but after your suggestion I went again and changed the cable around, you can see it in my pictures below. After that it worked see images. Now just have to do a nice colorisation with the editor and its awesome.

I can build 2 of these for the price it would cost me to buy 1 standard DMD in Australia.

Thanks again.

post-10115-0-30005400-1454068820_thumb.jpg

post-10115-0-61554200-1454068851_thumb.jpg

post-10115-0-17504100-1454068881_thumb.jpg

post-10115-0-93575900-1454068909_thumb.jpg

 

Share this post


Link to post
Share on other sites

Another colourisation attempt.

Did manual byte change to get it in WPC95 mode as you can see in first image.

Sorry I don't know how to get a video onto the site.

 

 

post-10115-0-64704200-1454415775_thumb.jpg

post-10115-0-88632800-1454415844_thumb.jpg

post-10115-0-80871600-1454415933_thumb.jpg

post-10115-0-27189200-1454416037_thumb.jpg

post-10115-0-61513500-1454416123_thumb.jpg

  • Upvote 2

Share this post


Link to post
Share on other sites

Hello! Testing the board with a real pinball Addams Family, is it enought to copy the file pin2dmd.dat to the SD ? to make it work for example in blue ? Once I put the SD in the panel the "virtual pinball" changes to "williams" all in blue, so the SD card is working. What happens if I don't copy the file palettes.dat ? I have the real pinball far away from where I'm testing, I have to send to my friend via post office. Thanks a lot !!!

Share this post


Link to post
Share on other sites

If that is what you wanted to have (Williams and blue) that should be all.

Which Version do you have installed ? We had some problems due to reworking the code with

real pinball machines.

Share this post


Link to post
Share on other sites

If that is what you wanted to have (Williams and blue) that should be all.

Which Version do you have installed ? We had some problems due to reworking the code with

real pinball machines.

Thanks for your answer. I think the last, that is 1.27 is correct ? or should I use an older version ?

When I use the tool pin2dmd.exe I can write the pin2dmd.dat that sets "williams" ok on display and the colour I choose, but no palettes.dat is generated, is that normal ?

And if I send him the vga mode (rgb) instead of blue, just the pin2dmd.dat file without palettes.dat is he going to see in colour the dmd ?

Thanks!

Share this post


Link to post
Share on other sites

The palettes.dat file is only needed when you want a custom palette. If you set the vga palette the wpc will use colors 0,1,7,15 of it.

I haven´t tested the 1.27 with wpc machine, but will do that tomorrow, just to make sure it works.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...