area515 / Photonic3D

Control software for resin 3D printers
http://photonic3d.com
GNU General Public License v3.0
133 stars 115 forks source link

Unable to upload files to CWH #161

Closed XiGua89 closed 8 years ago

XiGua89 commented 8 years ago

I am not sure whether this is the right place to post my issue. I successfully installed CWH on the RPi 2. I am able to connect to my printer and move the build-platform. I also ran some test-prints without resin some days ago and everything seemed to work just fine.

Now that my resin arrived I am unable to upload files anymore! 2 hours ago it still worked, now: nothing. I tried several files (.cws maily, but also .stl, .jpg and URLs) and also tried those with different names. Files that I was able to upload before just do not anymore. I am uploading the files from a windows-computer (tried different computers with different browsers as well)

Any help/advice would be greatly appreciated XiGua

jmkao commented 8 years ago

Oh no, acceptsFile() is definitely not corrupting the file! The issue is that because acceptsFile() is being invoked for all the files in the directory constantly, if there is a single corrupt file in the directory, the whole page will fail.

I think the issue is in this call sequence starting with the REST endpoint for listing printables in PrintableService.java:

    @GET
    @Path("list")
    public List<Printable> getPrintables() {
        File dir = HostProperties.Instance().getUploadDir();
        File[] acceptedFiles = dir.listFiles();
        ArrayList<Printable> printables = new ArrayList<Printable>();
        for(File file : acceptedFiles) {
            PrintFileProcessor<?> processor = PrintFileFilter.INSTANCE.findAssociatedPrintProcessor(file);
            printables.add(new Printable(file, processor));
        }

        return printables;
    }

This calls findAssociatedPrintProcessor() in PrintFileFilter.java for each file in the /tmp/uploaddir directory:

    public PrintFileProcessor<?> findAssociatedPrintProcessor(File pathname) {
        for (PrintFileProcessor<?> currentProcessor : HostProperties.Instance().getPrintFileProcessors()) {
            if (currentProcessor.acceptsFile(pathname)) {
                return currentProcessor;
            }
        }

Which then shops out the file to every processor, calling acceptsFile() in a loop.

If the acceptsFile() for a processor throws an exception (e.g. in the case of a corrupted zip), then that exception will percolate all the way back to the REST endpoint and cause the listing to fail.

That means that any bad files in /tmp/uploaddir will cause the printables list to be blank.

We can probably reduce the impact of this by adding some exception handling so that bad files will be skipped, but that would still leave the bad file invisibly there and un-removable.

Perhaps there should be some kind of last-resort fallback Processor that gets assigned to the file in a catch block, like "UnprintableFileProcessor" that has enough information to make the file show up in the list (so that it can be removed), but otherwise doesn't do anything.

WesGilster commented 8 years ago

Let's take another recap of issues:

very strange... files do disappear after an reboot of the pi... but it should be possible to reupload the file...

If this is an OS based tmp file cleanup issue, this can be resolved by adding: uploaddir=somedirectory

No serial ports found for:Autodetect 3d printer firmware

Temporary solution In the "Basic Printer Setup" choose /dev/ttyACM0 instead of using "Autodetect 3d printer firmware". Permanent solution Code fix is needed to make autodetection more robust for GBRL.

I can't upload anything

Temporary solution You can get this file to work with a workaround, which would be to save file file in CW as a different name. rather than calling it "Wuerfel 10mm", just name it simply "wuerfel" or something like that, and verify that the contents of the cws zip (rename the .cws to .zip and then open it in the Windows explore) has simple file names like "wuerfel0001.png". Then, SSH into your Raspberry Pi and erase all the files in /tmp/uploaddir. Finally, upload the cws file and let us knows what happens. If there is still a problem, please attach the new cws file to your update. Permanent solution jmkao has a solution he's going to be building a permanent fix into the area515 stream.

File corruption issue

@jmkao Ahh, I see what you are saying, corruption is due to "bad" zip file. Printables page disablement is due to corruption. Gotcha. Your solution isn't bad, but I'm wondering if we shouldn't just disallow the file to be uploaded if it doesn't match any processor(I thought we were doing that anyway) I like preventative measures if possible. I realize things could still "sneak" through, but our acceptsFile() should be more robust anyway. This would have also given XiGua89 some feedback so that he knew that his file was "corrupted" and couldn't be printed.

ok, i did not look for the control commands for my projector yet (i hope this is what you ment)

Yep, that's what I meant, we aren't ready for this yet, but will be when you're comfortable with the other issues, you'll need a serial cable, those codes and we'll give you a program that you can run to help us test your hex codes.

jmkao commented 8 years ago

Yes, I guess a higher up line of defense would be to proactively delete the file at the time of upload if there are any exceptions in the processing chain.

WesGilster commented 8 years ago

Yeah that's what I'm thinking.

WesGilster commented 8 years ago

Actually, furthermore it should delete the file at the end of the upload process and return a failure on the upload process itself if there isn't a printFileProcessor that is willing to take ownership of the file.

XiGua89 commented 8 years ago

wow, you guys are amazing! unfortunately i can not try anything today, but tomorrow i will for sure

Temporary solution You can get this file to work with a workaround, which would be to save file file in CW as a different name. rather than calling it "Wuerfel 10mm", just name it simply "wuerfel" or something like that,

I did that before and also tried kloknibor's test.cws

and verify that the contents of the cws zip (rename the .cws to .zip and then open it in the Windows explore) has simple file names like "wuerfel0001.png".

ok!

Then, SSH into your Raspberry Pi and erase all the files in /tmp/uploaddir. Finally, upload the cws file and let us knows what happens. If there is still a problem, please attach the new cws file to your update.

ok, i will definitely try that asap (tomorrow)!

jmkao commented 8 years ago

@XiGua89 Actually, you do not need to do any of the workarounds. I put a fix into stable build 0.228, so just restart your CWH and it should update itself automatically.

XiGua89 commented 8 years ago

wow, this would be great. actually i am not sure how to restart CWH. I can only disconnect the RPi from power and connect it again (when i disconnect a printer in CWH, i only see black screen with a strange symbol of my mouse. therefore i can not shut it down/reboot)

I disconnected the RPi from power supply twice, but still get v0.227

Update: it seems to work (uploading)!!! what i still have is the black screen when disconnecting from the printer

kloknibor commented 8 years ago

It's easiest to disconnect the power yes :P (there are more gentle ways but involve SSH or keyboard acces) The black background is normal ;) even when diconnecting the printer. Jmkao introduced it so that you won't cure too much when no printer is connected is my guess ;)! The simble you see, could it be an trash icon? Becouse the mouse should be disabled by the software...

kloknibor commented 8 years ago

Did you succeed updating too? If not are you sure your pi has internet acces? not just local acces?

XiGua89 commented 8 years ago

Because the mouse should be disabled by the software...

i am runing a dry testprint now, so i cant check which icon it is. but i can move the icon.

Did you succeed updating too

yes, i just installed CWH via SSH again

is it normal that i need to define a feedrate for G01 after every restart of CWH, in order to move the printer in CWH?

kloknibor commented 8 years ago

hmm weird... about the icon... would help if you can make a picture ;)

about the G01 is also very weird... I never saw that command in 3D printing before... What firmware are you using on your controller board? But none of my FDM,DLP and LCD printers use this code... As far as I know it's only used with CNC machines... So that's more a thing of your firmware which is kind off weird

XiGua89 commented 8 years ago

Icon: icon could not get a better picture. It is just an "x"

I am using: grbl_v0_9i_atmega328p_16mhz_115200_for_SO2.zip

I do not need to insert that code when using printrun, GRBL controller, UniversalGcodeSender to control the motor. If i dont insert G01 in CWH my motor won't move

LogBundle_stepper.zip (maybe this helps?)

WesGilster commented 8 years ago

If we aren't controlling your projector(which we aren't because we haven't gotten to that step yet) anything can be displayed on your projector until the printer is started. Mine currently shows some birds when I run on my laptop it shows the ubuntu symbol, that X could be from X-Windows. Once the printer is started, CWH will take control of the screen imaging and at that point, it MUST be a blank screen.

I do not need to insert that code when using printrun, GRBL controller, UniversalGcodeSender to control the motor.

Yes, it looks like it, those apps probably send the feedrates behind the scenes. If you plan on using the manual controls you'll need to send the code first. You can set this automatically if you add it to your header gcode for the printer setup.

I'm keeping track of the the issues we've seen with GRBL:

  1. More robust \r parsing in autodetection.
  2. Automatic send of G01 when GRBL is detected.

Does everyone agree with this?

kloknibor commented 8 years ago

I'm fine with this :)!

XiGua89 commented 8 years ago

me too :)

I was wondering: I still have some open issues/questions, of which some are quite general. But i am afraight they might be too "personal". Also i have to admit i took a look at the different issue-topics, but did not look through all of them. Would it be appropriate to post my beginner-questions here?

kloknibor commented 8 years ago

Just post them, I'll try to answer some and if there hasn't been an answer I'll advice to make a new issue for that ;)!

XiGua89 commented 8 years ago

Ok, thanks :) This is a great community, so if my posts do not seem suitable, feel free to tell me

  1. Is it possible to set a Z-position for starting each print? I assume it would have to be saved in the arduino firmware?
  2. I found that my projector is already displaying the layer, when the platform is still moving. I took a look at the gcode and in all my cws-files the blanking layer time / delay time is preset(?) to 5200ms. I did not find any option to change this in Creatin Workshop. Is there an easy way?
  3. I do have the impression that my stepper does not run smoothly in CWH, it kind of stutters/jerks when moving down(!). Controlling it via computer (printrun, etc.) does not show this issue
  4. The computer i am working on has two screens with different resolution than my projector (1920x1080, 16:9) and also a different aspect ratio. Therefore i can not set an 1920x1080 display in CW, which later distorts (meaning a square will be a rectangle) the image when printing.
  5. Does anyone have experience with formlabs (clear) resin on a DLP-printer? I can hardly cure the resin (>50s per layer). Also I am not sure whether to remove the UV-filter. I read it can burn the light tunnel when removed
  6. About the projector control: i connected it via mini-usb tomy RPi and found these commands so far: optoma commands if this is right, where/how can I implement these commands?

thats it so far, thanks already!

kloknibor commented 8 years ago

Is it possible to set a Z-position for starting each print? I assume it would have to be saved in the arduino firmware?

I'm not exactly understanding your question... You mean that when you start a print the platform will move to an specific height? If you are using CW just add in your gcode header in CW. If you use .stl to upload to our software edit the Gcode start code in printer settings

I found that my projector is already displaying the layer, when the platform is still moving. I took a look at the gcode and in all my cws-files the blanking layer time / delay time is preset(?) to 5200ms. I did not find any option to change this in Creatin Workshop. Is there an easy way?

Since it is all very CW related I think a better place to ask is the forum at buildyourownsla.com but well in resin profile settings at the right you can change the blank time in the area of lift sequence. (next to auto calculate you can make it longer manual). In our software you just add the blanktime to your Z lift sequence.

I do have the impression that my stepper does not run smoothly in CWH, it kind of stutters/jerks when moving down(!). Controlling it via computer (printrun, etc.) does not show this issue

We are only sending gcodes and controlling the display... This isn;t an issue of our software but rather an power question since you power the arduino from the pi and the pi can't output too much power by usb.

The computer i am working on has two screens with different resolution than my projector (1920x1080, 16:9) and also a different aspect ratio. Therefore i can not set an 1920x1080 display in CW, which later distorts (meaning a square will be a rectangle) the image when printing.

you can manually override the display size in CW. I'm unsure how we calibrate the screen from our software if you upload an .stl... @WesGilster @jmkao How does this work?

Does anyone have experience with formlabs (clear) resin on a DLP-printer? I can hardly cure the resin (>50s per layer). Also I am not sure whether to remove the UV-filter. I read it can burn the light tunnel when removed

This isn't an question for this support forum, this forum is to issue our own software not resin settings and projector mods. Again head over to buildyourownsla.com (And no I haven't any experience)

About the projector control: i connected it via mini-usb tomy RPi and found these commands so far: optoma commands if this is right, where/how can I implement these commands?

These seem right, add them over ssh or sftp and got to /opt/cwh/config.properties (Command from ssh (putty) would be sudo nano /opt/cwh/config.properties , this will open an text editor where you can change them)

I think if you encounter more questions about CW and not our software (CWH/photonic3D soon) than you can better use buildyourownsla.com this is the forum of CW and we aren't part of CW itself ;)! and google is your friend ;)

XiGua89 commented 8 years ago

thanks! I do google a lot :)

you can manually override the display size in CW.

you mean overriding the gcode!?

These seem right, add them over ssh or sftp and got to /opt/cwh/config.properties (Command from ssh (putty) would be sudo nano /opt/cwh/config.properties , this will open an text editor where you can change them)

great, i will try!

kloknibor commented 8 years ago

you can manually override the display size in CW. you mean overriding the gcode!?

No you can just adjust them in machine config > output resolution

WesGilster commented 8 years ago

Is it possible to set a Z-position for starting each print? I assume it would have to be saved in the arduino firmware?

The easiest would be to note the z-position and simply set it in your gcode header. If you'd like to open a feature request to have a nicer solution feel free and we figure out the best way to implement it.

The computer i am working on has two screens with different resolution than my projector (1920x1080, 16:9) and also a different aspect ratio. Therefore i can not set an 1920x1080 display in CW, which later distorts (meaning a square will be a rectangle) the image when printing.

As Kloknibor said, this a calibration issue, not a resolution issue. If you are still using .CWS files with embedded pictures on CWH(Photonic 3D), those pictures have already been distorted with CW and CWH is just showing them. The development stream of CWH has a calibrator that you can get the pixels per mm and then you'll need to transfer those over fix your CW configuration. Then CW with generate proper images. On the other hand if you are printing other file types(other then .cws files), you can simply use our calibrator.

I found that my projector is already displaying the layer, when the platform is still moving. I took a look at the gcode and in all my cws-files the blanking layer time / delay time is preset(?) to 5200ms. I did not find any option to change this in Creatin Workshop. Is there an easy way?

Again, Kloknibor is correct, but if you are interested in experimenting with different delay times, CWH is nicely suited for this since you can change all of the speeds and exposure times after a print is in progress by going to the printer controls screen and playing with the values while printing. I do this when I've realized that my formulas aren't correct on my current print and I can figure out precise times.

kloknibor commented 8 years ago

@WesGilster I noticed the override values in the code but I just tought they were hidden... Didn't know they showed up during print :) Sweet!

XiGua89 commented 8 years ago

I also never noticed, thats really helpful!

sorry to bother again:

These seem right, add them over ssh or sftp and got to /opt/cwh/config.properties (Command from ssh (putty) would be sudo nano /opt/cwh/config.properties , this will open an text editor where you can change them)

I changed the hex codes for power on and off according to the picture I posted earlier. Is there more that has to be changed? It was not possible to control the projector yet

kloknibor commented 8 years ago

@XiGua89 Did you get the usb to serial cable and connected to the pi and beamer like mentioned before?

XiGua89 commented 8 years ago

i connected it straight from USB to the mini-usb port on my projector, because the projector does not have a serial port. could this work?

WesGilster commented 8 years ago

Here is the PDF: http://www.optoma.de/uploads/RS232/DS309-RS232-en.pdf

We'll also need to determine an autodetect sequence, I'm thinking we'll probably use: 7E 30 30 31 32 32 20 31 (software revision)

We'll also need to give you a program that you'll need to run. That gives us the output to these sequences when the projector is on and off.

With the development stream version you should add your com settings as well, but that can be done later.

jmkao commented 8 years ago

@XiGua89

Is it possible to set a Z-position for starting each print? I assume it would have to be saved in the arduino firmware?

Can you describe what the zero leveling process is for your printer? Do you use the G28 (home axes) with an endstop as part of the process? Or do you have a different non-endstop based procedure?

XiGua89 commented 8 years ago

We'll also need to determine an autodetect sequence, I'm thinking we'll probably use: 7E 30 30 31 32 32 20 31 (software revision)

I changed it into following: hexCodeBasedProjectors=[{"name":"Optoma HD141x","onHex":"7E303030302031", "offHex":"7E303030302032", "detectionHex":"7E30303132322031" I did not change the commands after those

We'll also need to give you a program that you'll need to run. That gives us the output to these sequences when the projector is on and off.

can I download it somewhere?

Can you describe what the zero leveling process is for your printer? Do you use the G28 (home axes) with an endstop as part of the process? Or do you have a different non-endstop based procedure?

i would just mark the position where i start my prints at (focus) for the following prints. Setting the home and using G28 doesnt work for me once the RPi is shut down. (i just saw this with the titan 1 so i was wondering..)

jmkao commented 8 years ago

i would just mark the position where i start my prints at (focus) for the following prints. Setting the home and using G28 doesnt work for me once the RPi is shut down. (i just saw this with the titan 1 so i was wondering..)

You predicted the direction of my question. I'm trying to understand if your requirements are similar to the Titan 1, which would require our software to remember the Z location reported by M114 when stopping the printer, and then supplying the stored value to G92 when later starting the printer (described in more detail in #115).

Is that what you could need to persist the Z level between printer start/stops? Or do you require something different?

XiGua89 commented 8 years ago

yes, exactly!

WesGilster commented 8 years ago

Sorry I'll add some context to this...

can I download it somewhere?

I haven't quite gotten the app ready for use since I've made my development release. I'll have something ready for you tomorrow though...

WesGilster commented 8 years ago

Is that what you could need to persist the Z level between printer start/stops?

Great, it sounds like we already have an enhancement open for this, we just need to talk about the details of how we are going to save the printer variables back to the printer profile.

can I download it somewhere?

Yes, it comes with our hardware testkit here:

sudo wget https://github.com/area515/Creation-Workshop-Host/raw/master/host/bin/testKitDev.sh
sudo wget https://github.com/area515/Creation-Workshop-Host/raw/master/host/bin/start.sh
sudo chmod 777 *.sh
sudo ./testKitDev.sh

You can ignore the results of the test kit unless you have some interest in them. You can run this projector test app separately after the above steps are complete.

cd /opt/cwhTestKit
sudo java -Djava.library.path=/usr/lib/jni:os/Linux/${cpu} -cp lib/*:. org.area515.resinprinter.projector.ProjectorOutput

The steps are pretty self explanatory. Make sure to test each function to determine everything is working for you. Also, make sure to run the auto-detect sequence with your projector on and off to determine if there is a difference in what the projector is sending us back in those two states. Then you can copy the output of the whole test and add it to the comments in this issue.

WesGilster commented 8 years ago

Other than the projector testing that XiGua89 needs to perform, all issues are fixed and placed in the development stream build cwh-0.269.

  1. I reproduced the GRBL autodetection problem in a test and fixed the bug.
  2. I made the PrintProcessor acceptance code much more robust now and we were already making sure that a file was accepted before allowing it to be placed in our upload directory. The problem is that the corruption was jumping past the delete file code.

Thanks everyone for getting these issues figured out so quickly. I was the slow one!

@XiGua89 At this point, if you have any other issues let's try to open each issue with a new log bundle.

XiGua89 commented 8 years ago

i have some trouble with installing the testkit. downoading it works fine, but then my RPi cannot find/open it:

pi@photonic3d:~ $ sudo wget https://github.com/area515/Creation-Workshop-Host/raw/master/host/bin/testKitDev.sh
--2016-03-14 07:43:10--  https://github.com/area515/Creation-Workshop-Host/raw/master/host/bin/testKitDev.sh
Resolving github.com (github.com)... 192.30.252.129
Connecting to github.com (github.com)|192.30.252.129|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/area515/Creation-Workshop-Host/master/host/bin/testKitDev.sh [following]
--2016-03-14 07:43:11--  https://raw.githubusercontent.com/area515/Creation-Workshop-Host/master/host/bin/testKitDev.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.31.17.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.31.17.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 70 [text/plain]
Saving to: ‘testKitDev.sh.1’

testKitDev.sh.1                                             100%[==========================================================================================================================================>]      70  --.-KB/s   in 0s

2016-03-14 07:43:11 (7.12 MB/s) - ‘testKitDev.sh.1’ saved [70/70]

pi@photonic3d:~ $ sudo wget https://github.com/area515/Creation-Workshop-Host/raw/master/host/bin/start.sh
--2016-03-14 07:43:11--  https://github.com/area515/Creation-Workshop-Host/raw/master/host/bin/start.sh
Resolving github.com (github.com)... 192.30.252.129
Connecting to github.com (github.com)|192.30.252.129|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/area515/Creation-Workshop-Host/master/host/bin/start.sh [following]
--2016-03-14 07:43:12--  https://raw.githubusercontent.com/area515/Creation-Workshop-Host/master/host/bin/start.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.31.17.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.31.17.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5918 (5.8K) [text/plain]
Saving to: ‘start.sh.4’

start.sh.4                                                  100%[==========================================================================================================================================>]   5.78K  --.-KB/s   in 0s

2016-03-14 07:43:12 (15.1 MB/s) - ‘start.sh.4’ saved [5918/5918]

pi@photonic3d:~ $ sudo chmod 777 *.sh
pi@photonic3d:~ $ sudo ./testKitDev.sh
mv: cannot stat ‘cwhTestKit-0.*.zip’: No such file or directory
cp: cannot stat ‘build.number’: No such file or directory
mv: cannot stat ‘build.number’: No such file or directory
--2016-03-14 07:43:43--  https://github.com/WesGilster/Creation-Workshop-Host/raw/master/host/build.number
Resolving github.com (github.com)... 192.30.252.128
Connecting to github.com (github.com)|192.30.252.128|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/WesGilster/Creation-Workshop-Host/master/host/build.number [following]
--2016-03-14 07:43:43--  https://raw.githubusercontent.com/WesGilster/Creation-Workshop-Host/master/host/build.number
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.31.17.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.31.17.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 111 [text/plain]
Saving to: ‘build.number’

build.number                                                100%[==========================================================================================================================================>]     111  --.-KB/s   in 0s

2016-03-14 07:43:43 (8.20 MB/s) - ‘build.number’ saved [111/111]

Installing latest version of cwhTestKit-0: 271
--2016-03-14 07:43:43--  https://github.com/WesGilster/Creation-Workshop-Host/raw/master/host/cwhTestKit-0.271.zip
Resolving github.com (github.com)... 192.30.252.128
Connecting to github.com (github.com)|192.30.252.128|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-03-14 07:43:44 ERROR 404: Not Found.

unzip:  cannot find or open cwhTestKit-0.271.zip, cwhTestKit-0.271.zip.zip or cwhTestKit-0.271.zip.ZIP.
chmod: cannot access ‘*.sh’: No such file or directory
rm: cannot remove ‘cwhTestKit-0.271.zip’: No such file or directory
Turning off screen saver and power saving
Determinging if one time install has occurred
Starting test kit
pi@photonic3d:~ $ Error: Could not find or load main class org.junit.runner.JUnitCore

also, installing the latest development build (cwh-0.269) shows a similar issue:

pi@photonic3d:~ $ sudo wget https://github.com/WesGilster/Creation-Workshop-Host/raw/master/host/bin/start.sh
--2016-03-14 07:45:58--  https://github.com/WesGilster/Creation-Workshop-Host/raw/master/host/bin/start.sh
Resolving github.com (github.com)... 192.30.252.131
Connecting to github.com (github.com)|192.30.252.131|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/WesGilster/Creation-Workshop-Host/master/host/bin/start.sh [following]
--2016-03-14 07:45:59--  https://raw.githubusercontent.com/WesGilster/Creation-Workshop-Host/master/host/bin/start.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.31.17.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.31.17.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5943 (5.8K) [text/plain]
Saving to: ‘start.sh.5’

start.sh.5                                                  100%[==========================================================================================================================================>]   5.80K  --.-KB/s   in 0s

2016-03-14 07:45:59 (22.1 MB/s) - ‘start.sh.5’ saved [5943/5943]

pi@photonic3d:~ $ sudo chmod 777 start.sh
pi@photonic3d:~ $ sudo ./start.sh WesGilster
mv: cannot stat ‘cwh-0.*.zip’: No such file or directory
--2016-03-14 07:46:03--  https://github.com/WesGilster/raw/master/host/build.number
Resolving github.com (github.com)... 192.30.252.131
Connecting to github.com (github.com)|192.30.252.131|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-03-14 07:46:03 ERROR 404: Not Found.

mv: cannot stat ‘build.number’: No such file or directory
No install required
Turning off screen saver and power saving
Determinging if one time install has occurred
Starting printer host server
kloknibor commented 8 years ago

Yes, This is because these .zip aren't available anymore on Wesgilster branch... https://github.com/WesGilster/Creation-Workshop-Host/raw/master/host/cwhTestKit-0.271.zip doesn't exist anymore.

I was just wondering this morning why the zips weren't available there anymore... Just accidentally forgot to upload it after building or maybe because we switched from building with ant to gradle... Not sure but you have to wait for ergobot, jmkao or Wes for an solution I gues... I'm not home so can't create the build for you either

kloknibor commented 8 years ago

What you can try is the following :

upload this file to your pi into the folder your pi runs (I suggest with winSCP)

cwhTestKit-0.270.zip

This is the file that is missing

If this is too hard I can make an edited script for you ;)

XiGua89 commented 8 years ago

right now i do not know how to do it, would need to google first :) but right now i am runing a test print, so i will look for it later!

kloknibor commented 8 years ago

allright if you need help let me know ;)

WesGilster commented 8 years ago

Sorry about that, jmkao and I are working on a new build process that falls in line with the github release mechanism. The new process stops checking those builds into our code base because it's a very inefficient way to store zips. You got caught in between the old build process and new. I'll upload a new build for you tonight, or you can perform the offline install that kloknibor mentioned.

kloknibor commented 8 years ago

@WesGilster Am I still able to compile it with eclipse (and ant build)? Or should I start using Gradle? Otherwise I might be able to compile it for now, and I want to play around with small changes for the coding I try to do to... So I want to be able to compile too ;)!

WesGilster commented 8 years ago

@kloknibor Old process still works fine(for now), but there are Eclipse launchers for the new process...

@XiGua89 I've reuploaded a new build that should be available now.

kloknibor commented 8 years ago

Thanks @WesGilster I'm gonna try it :)! Also I found the eclipse integration : https://gradle.org/eclipse/ This one right?

WesGilster commented 8 years ago

@XiGua89 Sorry for taking over your thread with different topics...

@kloknibor Yes, but you don't need it. jmkao put together a pretty nice build dependency autoinstall that downloads everything a developer would need to get started (other than Eclipse). The JDK is hooked in through your Eclipse execution environment, so you shouldn't even have to deal with that when using the launchers. There are the steps:

  1. Commit code and run all tests.
  2. Tag the code with git using something like DEV00X.
  3. Run the Build launcher(in Eclipse)
  4. Run the Release launcher(in Eclipse) and it will display a GUI prompt for the tag you entered in step 2.
  5. ./startnew.sh or ./newstart.sh (can't remember) and it will use the new release mechanism. (jmkao built this and I haven't tested this yet)
XiGua89 commented 8 years ago

I am really sorry, what am I doing wrong now?

pi@photonic3d:~ $ sudo wget https://github.com/area515/Creation-Workshop-Host/ra                                                                             w/master/host/bin/testKitDev.sh
--2016-03-14 15:49:08--  https://github.com/area515/Creation-Workshop-Host/raw/m                                                                             aster/host/bin/testKitDev.sh
Resolving github.com (github.com)... 192.30.252.130
Connecting to github.com (github.com)|192.30.252.130|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/area515/Creation-Workshop-Host/maste                                                                             r/host/bin/testKitDev.sh [following]
--2016-03-14 15:49:09--  https://raw.githubusercontent.com/area515/Creation-Work                                                                             shop-Host/master/host/bin/testKitDev.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.31.17.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.31.17.13                                                                             3|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 70 [text/plain]
Saving to: ‘testKitDev.sh.3’

testKitDev.sh.3     100%[=====================>]      70  --.-KB/s   in 0s

2016-03-14 15:49:09 (7.28 MB/s) - ‘testKitDev.sh.3’ saved [70/70]

pi@photonic3d:~ $ sudo wget https://github.com/area515/Creation-Workshop-Host/ra                                                                             w/master/host/bin/start.sh
--2016-03-14 15:49:09--  https://github.com/area515/Creation-Workshop-Host/raw/master/host/bin/start.sh
Resolving github.com (github.com)... 192.30.252.130
Connecting to github.com (github.com)|192.30.252.130|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/area515/Creation-Workshop-Host/master/host/bin/start.sh [following]
--2016-03-14 15:49:10--  https://raw.githubusercontent.com/area515/Creation-Workshop-Host/master/host/bin/start.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.31.17.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.31.17.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5918 (5.8K) [text/plain]
Saving to: ‘start.sh.8’

start.sh.8                              100%[==============================================================================>]   5.78K  --.-KB/s   in 0s

2016-03-14 15:49:10 (16.9 MB/s) - ‘start.sh.8’ saved [5918/5918]

pi@photonic3d:~ $ sudo chmod 777 *.sh
pi@photonic3d:~ $ sudo ./testKitDev.sh
mv: cannot stat ‘cwhTestKit-0.*.zip’: No such file or directory
--2016-03-14 15:49:12--  https://github.com/WesGilster/Creation-Workshop-Host/raw/master/host/build.number
Resolving github.com (github.com)... 192.30.252.130
Connecting to github.com (github.com)|192.30.252.130|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/WesGilster/Creation-Workshop-Host/master/host/build.number [following]
--2016-03-14 15:49:18--  https://raw.githubusercontent.com/WesGilster/Creation-Workshop-Host/master/host/build.number
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.31.17.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.31.17.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 111 [text/plain]
Saving to: ‘build.number’

build.number                            100%[==============================================================================>]     111  --.-KB/s   in 0s

2016-03-14 15:49:18 (10.3 MB/s) - ‘build.number’ saved [111/111]

No install required
Turning off screen saver and power saving
Determinging if one time install has occurred
Starting test kit
pi@photonic3d:~ $ JUnit version 4.12
.Projector detection test.
WARNING:  RXTX Version mismatch
        Jar version = RXTX-2.2 (CVS snapshot 2011.02.03, modified by CMU CREATE Lab, http://code.google.com/p/create-lab-commons/)
        native lib Version = RXTX-2.2pre2
Attempting detection on port:/dev/ttyACM0
  JSSCCommPort projector detection:null
E.Firmware detection test.
Port:/dev/ttyACM0 Baud:9600
  0. JSSCCommPort firmware detection:false
Port:/dev/ttyACM0 Baud:115200
  0. JSSCCommPort firmware detection:true
  1. JSSCCommPort firmware detection:true
  2. JSSCCommPort firmware detection:true
  3. JSSCCommPort firmware detection:true
  4. JSSCCommPort firmware detection:true
  5. JSSCCommPort firmware detection:true
  6. JSSCCommPort firmware detection:true
  7. JSSCCommPort firmware detection:true
  8. JSSCCommPort firmware detection:true
  9. JSSCCommPort firmware detection:true
.Network detection test
.E.Determining liquid level in: ToughSituation.png.
Time taken to perform visual inspection of remaining print resin: 8309ms
Remaining print resin: 57.45%
.Testing imaging capabilities.
E.Testing dianostic support emailing capability
Problem marshalling printer configurations from:/root/3dPrinters/MST (Copy).printer
javax.xml.bind.UnmarshalException
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335) ~[?:1.8.0_65]
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:563) ~[?:1.8.0_65]
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:249) ~[?:1.8.0_65]
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:214) ~[?:1.8.0_65]
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157) ~[?:1.8.0_65]
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:162) ~[?:1.8.0_65]
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:171) ~[?:1.8.0_65]
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:189) ~[?:1.8.0_65]
        at org.area515.resinprinter.server.HostProperties.getPrinterConfigurations(HostProperties.java:598) [cwhTestKit/:?]
        at org.area515.resinprinter.server.HostProperties.exportDiagnostic(HostProperties.java:330) [cwhTestKit/:?]
        at org.area515.resinprinter.services.MachineService.emailSupportLogs(MachineService.java:272) [cwhTestKit/:?]
        at org.area515.resinprinter.services.EmailTests.noFailuresInDianosticEmail(EmailTests.java:13) [cwhTestKit/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_65]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_65]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_65]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_65]
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) [junit-4.12.jar:4.12]
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.12.jar:4.12]
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) [junit-4.12.jar:4.12]
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) [junit-4.12.jar:4.12]
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) [junit-4.12.jar:4.12]
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
        at org.junit.runners.Suite.runChild(Suite.java:128) [junit-4.12.jar:4.12]
        at org.junit.runners.Suite.runChild(Suite.java:27) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
        at org.junit.runners.Suite.runChild(Suite.java:128) [junit-4.12.jar:4.12]
        at org.junit.runners.Suite.runChild(Suite.java:27) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12]
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137) [junit-4.12.jar:4.12]
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115) [junit-4.12.jar:4.12]
        at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77) [junit-4.12.jar:4.12]
        at org.junit.runner.JUnitCore.main(JUnitCore.java:36) [junit-4.12.jar:4.12]
Caused by: org.xml.sax.SAXParseException: Premature end of file.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1437) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1019) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) ~[?:1.8.0_65]
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) ~[?:1.8.0_65]
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243) ~[?:1.8.0_65]
        ... 46 more
Created printer configuration for:MST

Time: 100.066
There were 3 failures:
1) noErrorsDetectingProjector(org.area515.resinprinter.projector.DetectProjector)
java.lang.AssertionError
        at org.junit.Assert.fail(Assert.java:86)
        at org.junit.Assert.assertTrue(Assert.java:41)
        at org.junit.Assert.assertTrue(Assert.java:52)
        at org.area515.resinprinter.projector.DetectProjector.noErrorsDetectingProjector(DetectProjector.java:48)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)
        at org.junit.runner.JUnitCore.main(JUnitCore.java:36)
2) testAgainstKnownPercentages(org.area515.resinprinter.inkdetection.visual.TestVisualPrintMaterialDetector)
java.lang.AssertionError: Algorithm outcome:0.6101882 for image:CircleLine10-14.png not within tolerance:0.09 of predicted value:0.71428573
        at org.junit.Assert.fail(Assert.java:88)
        at org.area515.resinprinter.inkdetection.visual.TestVisualPrintMaterialDetector.testAgainstKnownPercentages(TestVisualPrintMaterialDetector.java:68)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)
        at org.junit.runner.JUnitCore.main(JUnitCore.java:36)
3) tookValidPicture(org.area515.resinprinter.services.MediaUsage)
java.lang.AssertionError
        at org.junit.Assert.fail(Assert.java:86)
        at org.junit.Assert.assertTrue(Assert.java:41)
        at org.junit.Assert.assertNotNull(Assert.java:712)
        at org.junit.Assert.assertNotNull(Assert.java:722)
        at org.area515.resinprinter.services.MediaUsage.tookValidPicture(MediaUsage.java:28)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)
        at org.junit.runner.JUnitCore.main(JUnitCore.java:36)

FAILURES!!!
Tests run: 7,  Failures: 3

cd /opt/cwhTestKit
pi@photonic3d:/opt/cwhTestKit $ sudo java -Djava.library.path=/usr/lib/jni:os/Linux/${cpu} -cp lib/*:. org.area515.resinprinter.projector.ProjectorOutput
Projector Output Test.
WARNING:  RXTX Version mismatch
        Jar version = RXTX-2.2 (CVS snapshot 2011.02.03, modified by CMU CREATE Lab, http://code.google.com/p/create-lab-commons/)
        native lib Version = RXTX-2.2pre2
0. /dev/ttyACM0
Type the number of the Serial Port that you would like to test (then press enter):
1
0. Optoma (HD141x)
1. Vivitek (D535)
2. Acer
3. ViewSonic (pjd7820hd)
Type the number of the projector that you would like to test (then press enter):
0
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
        at java.util.ArrayList.rangeCheck(ArrayList.java:653)
        at java.util.ArrayList.get(ArrayList.java:429)
        at org.area515.resinprinter.projector.ProjectorOutput.main(ProjectorOutput.java:103)
pi@photonic3d:/opt/cwhTestKit $ 

updating to v0.269 also did not work

kloknibor commented 8 years ago

I think this is just what they wanted to see :)!

WesGilster commented 8 years ago

Looks like your test kit update is just fine

cd /opt/cwhTestKit pi@photonic3d:/opt/cwhTestKit $ sudo java -Djava.library.path=/usr/lib/jni:os/Linux/${cpu} -cp lib/*:. org.area515.resinprinter.projector.ProjectorOutput Projector Output Test. WARNING: RXTX Version mismatch Jar version = RXTX-2.2 (CVS snapshot 2011.02.03, modified by CMU CREATE Lab, http://code.google.com/p/create-lab-commons/) native lib Version = RXTX-2.2pre2

  1. /dev/ttyACM0 Type the number of the Serial Port that you would like to test (then press enter): 1

Notice the above copy and paste. You only have option 0 which is /dev/ttyACM0, but you typed 1. I looked for option 1 and threw this error when it didn't find it:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

The good news is that when this hardware test kit ran, it found your printer firmware here:

Port:/dev/ttyACM0 Baud:115200

  1. JSSCCommPort firmware detection:true

The bad news is that it doesn't look like you've hooked up your projector properly yet since we only found your printer hardware port and not your projector.

XiGua89 commented 8 years ago

Notice the above copy and paste. You only have option 0 which is /dev/ttyACM0, but you typed 1. I looked for option 1 and threw this error when it didn't find it:

alright. I did not know the 0 was my only option, so i started with 1. I will do it again later (printing right now)

The bad news is that it doesn't look like you've hooked up your projector properly yet since we only found your printer hardware port and not your projector.

like i posted earlier, i connected it from my mini-USB output straight to my RPi USB (My projector does not have a serial Port, only two HDMI, mini-USB, 3D-Sync). Could this be the problem?

WesGilster commented 8 years ago

alright. I did not know the 0 was my only option, so i started with 1. I will do it again later (printing right now)

It won't help to try again until the hardware issue is figured out. Option 0(/dev/ttyACM0) is your printer so it doesn't make much sense to detect your projector hardware on your printer firmware port.

It's kindof hard to determine your hardware situation through this support forum. Have you been able to control your projector on/off functions with other software? If so, was it a Raspberry Pi, and which port was it?

XiGua89 commented 8 years ago

no, never. this would be my first time :)