Related
Hey everybody!
I'm creating this thread to keep the Barcorama related discussion in a dedicated thread. The discussion spawned here.
Barcorama is a Zxing-based (http://code.google.com/p/zxing/) barcode reader software developed by me in C#. The program's main purpose is to provide a free (and hopefully powerful) tool in the consumer's toolchain!
Feel free to try out and comment on it.
The tool is being developed on my Kaiser, so any feedback on how it performs on other devices is welcomed!
Basic Usage (not yet updated for v0.9x:
a. Press the "Shoot" button to launch the phones camera wizard and take a photo of the barcode by pressing the front "OK" button, or the normal side-shoot button. Barcorama will return automatically upon capture and try to recognize the code.
b. Press the "Open" button to launch the file dialog and navigate/select a previously taken photo. Again, after loading the photo, recognition starts.
After a successful recognition, a popup message may ask whether to run the specified external program with the recognized code. The program along with its arguments is specified in the settings. The code will be inserted wherever the !###! string is be found (may be multiple times).
In general, my tests show that the autofocus camera feature seems to achieve a good result when holding the phone more then 5cm away from the target.
Source code is available here: https://sourceforge.net/projects/barcorama/
or download the trunk snapshot here: http://barcorama.svn.sourceforge.net/viewvc/barcorama/trunk.tar.gz?view=tar
Features:
-- Recognizes 1D and 2D barcodes. See the google page for details. Version 0.3 is currently incorporated.
-- Runs an external program to pass the recognized code
Requirements:
- NETCF v2.0
ChangeLog:
v0.9h
-- ability for "continuous operation". After successful recognition, continues scanning/shooting/etc...
-- option to beep after successful recognition. Useful in "continuous operation"
v0.9g (for Testing!):
-- Costpad fixes regarding same name shops
-- QR recognition working (thanx to mao xuchu!). Mind though that proper result handling is not present.
-- BUGFIX: many settings were not holding on their value
v0.9f (for Testing!):
-- Memory optimization. Thanx user jeutaw for reporting the bug!
v0.9e (for Testing!):
-- BUGFIX: fixed exception at the end of the purchase submit procedure
v0.9d (for Testing!):
-- Warning: a bug has already been identified regarding the ability to submit purchases to costpad.com. Perhaps you want to wait a few hours until I get home and fix it <-- FIXED in v0.9e
-- Manual entry of the barcode (useful when scan/shoot/open methods fail)
-- More finger-oriented purchase date entry method
-- Able to register a new shop through Barcorama
-- Smoother button fading
-- Various fixes
v0.9c (for Testing!):
-- GUI fixes (should now cope better with high-res devices)
v0.9b (for Testing!):
-- not connecting to the Internet at startup
v0.9a (for Testing!):
-- Preliminary Costpad.com integration
v0.8a:
-- Reintroduced the "Live" mode (thanks to WiMo project), where continuous capturing is performed (low resolution only, thanks to HTC... )
-- Experimental Autofocus tweak! Manually triggering the autofocus capability so to make the "Live" mode usable. Warning: not all devices/roms will be compatible!
v0.7a:
-- Better File open method
-- Minor interface changes
v0.6:
-- Elastic GUI layout. Supporting landscape mode and greater resolutions.
v0.5c:
- Bugfix: Normal handling of spaces in external program's path and arguments
- Added a program icon (thanx nibblah)
v0.5b:
- Bugfix: proper saving/loading of external program settings.
v0.5
- Can now run an external program passing the recognized barcode.
v0.4d
- Small fix for QR decoding
v0.4c
- Upgraded ZXing to 0.4.5 for 1D barcodes (only)
v0.4b
- Fixed a nasty bug that disabled EAN and UPC codes!
v0.4
- Able to individually select what barcode types to try
- Option for selecting whether automatic return from the Camera application is desired. When not selected, the user has to manually exit the Camera application, beign able this way to recapture before decode
- Added a clickable link in the About page to easily reach this forum
- Black appearance
v0.3b
- Incorporated a ZXing bugfix regarding code-39 decoding
- Added a popup question to copy a recognized code into the clipboard
v0.3
- Tweaked usage of the .net camera API. Using a file based method to detect when the capture was performed.
- Automatically returning back to the application after the user shoots the photo. No second "OK" is needed.
- Better UI behavior by using background thread for camera capture and image decoding
- Various bugfixes
Known Issues:
-- False recognitions (encountered some EAN13 faults)
-- 3megapixel photos cannot be loaded
-- After shooting, image appears 90-degrees counter-clockwise rotated. Recognition works though.
Have fun!
hypest
P.S Please, if you encounter a bug/problem, report it and add your hardware/software configuration, or fill your signature with such info. Reporting of successful trials is also welcomed
Removed: The "speedy" version was removed as it was not functioning on par with the "normal" version...
Added a cab file that includes the .exe and creates a Start Menu shortcut. The shortcut seems to be missing the proper icon and perhaps it won't work in Non-English installations. Removed the ..v07a.zip as the cab seems stable.
Removed: The "Barcorama.zip" as it was too old...
I'm not experiencing crashes anymore, but the app doesn't appear to be receiving the photo taken after pressing shoot etc. I tried leaving the app for a minute, in case it was too busy processing to show anything on screen, but to no avail. If I take a photo manually, it is able to process via the OPEN button.
You might want to change the url in the about section into something people are more likely to type into their browser, in case they get the file indirectly... (the tinyurl would be http://tinyurl.com/2kxkuj for example, a little shorter at least)
The other files that came with the previous versions of Barcorama (WiMoNative.dll, and the OpenNETCF.etc.etc), can they be removed from the program's directory?
PS Thanks for all your work so far
SilentlyScreaming said:
I'm not experiencing crashes anymore, but the app doesn't appear to be receiving the photo taken after pressing shoot etc. I tried leaving the app for a minute, in case it was too busy processing to show anything on screen, but to no avail. If I take a photo manually, it is able to process via the OPEN button.
Click to expand...
Click to collapse
After taking the photo, do you manually press OK (or the "return" icon), or do you just leave it to return on its own? I think, the Nadavi's camera version, after some seconds returns automatically but it's actually a "cancel", not an "OK".
SilentlyScreaming said:
You might want to change the url in the about section into something people are more likely to type into their browser, in case they get the file indirectly... (the tinyurl would be http://tinyurl.com/2kxkuj for example, a little shorter at least)
Click to expand...
Click to collapse
The long url really sucks, I know. This was just a quick and dirty solution to the "add an About window". I will certainly change it to actually be a clickable link.
SilentlyScreaming said:
The other files that came with the previous versions of Barcorama (WiMoNative.dll, and the OpenNETCF.etc.etc), can they be removed from the program's directory?
Click to expand...
Click to collapse
Yes, with the present application functionality, do supplement dlls are needed. So, it is safe to remove them.
SilentlyScreaming said:
PS Thanks for all your work so far
Click to expand...
Click to collapse
Thank YOU...
hypest
Looks good.
Looking forward to updates. I can't get it to "shoot" and decode.
I have to shoot the picture, then run the program to get it to decode the
1D barcode.
Very nice.
Hi, Sean here from the zxing project. Glad to see you got this into C# and I hope it was not too painful. Let me know if you notice bugs. I put a link to your project on the code.google.com page.
Once the code stops changing and looks about done, we'd like to do the same thing, but port to Object C for the iPhone.
Got me blushing
srowen said:
Hi, Sean here from the zxing project. Glad to see you got this into C# and I hope it was not too painful. Let me know if you notice bugs. I put a link to your project on the code.google.com page.
Once the code stops changing and looks about done, we'd like to do the same thing, but port to Object C for the iPhone.
Click to expand...
Click to collapse
Hello Sean! Flattered to see a comment from one of the project's developer!
Translating to C# was surprisingly easy and effective by using the MS JLCA. Ofcource I had to make some adjustments, but nothing really "difficult". Poking into the zxing code is certainly on my agenta but for the time being I'm trying to figure out why the prog does not work on some fellow posters' devices . I'll be happy to drive your attention to any bugs I notice.
...will keep my eye on your project's progress...
hypest
Quick Shot not working for me. The application do not get the image. Manual shot dont recognizes EAN13 code. Folder selection not working(HTC Camera takes the shots in Storagecard\DCIM\100Media folder that cant be selected because its a subfolder.)
Trouble replicating the problem
I just reverted my Kaiser to its original rom (had to cook it from the dump I performed the day I got it), but the prog works (shouldn't I be happy about that?). I can use the "Shoot" and recognize...
Some details:
device: HTC TyTN II (unbranded)
Greek ROM (ACE Hellas)
OS: 5.2.1620 (build 18125.0.4.2)
ROM version: 1.56.405.5
Date: 08/28/07
Radio: 1.27.12.32
Protocol: 22.45.88.07H
Camera ver: 4.08 build 28288
The prog also worked with my "previous" ROM (panosha's joannita light + Nadavi's camera)
Perhaps some of you guys that the app does not fully work, can post additional info on the hardware/software you're using.
Thanx,
hypest
i wonder if it had something to do with localization. It is a german Phone here. I've tested it with my own programm(also written in C#) and it has no problem getting the shot. strange....
nsa666 said:
Quick Shot not working for me. The application do not get the image. Manual shot dont recognizes EAN13 code. Folder selection not working(HTC Camera takes the shots in Storagecard\DCIM\100Media folder that cant be selected because its a subfolder.)
Click to expand...
Click to collapse
EAN13 generally seems to work. Please, could you try this image?
I have tested the prog on about 10 actual products. Try to keep the phone about 6-10cm away from the target (not closer than 5, anyway).
Thank you for the info on the behavior of the load dialog. I will try and use a different facility to browse every folder.
hypest
nsa666 said:
i wonder if it had something to do with localization. It is a german Phone here. I've tested it with my own programm(also written in C#) and it has no problem getting the shot. strange....
Click to expand...
Click to collapse
I cannot completely rule out the possibility to be a localization issue, even though, the second Kaiser device I used today was not a Greek one (I thing was English-default) and it worked on it too.
With your shot it actually works. With my it reads wrong code.
nsa666 said:
With your shot it actually works. With my it reads wrong code.
Click to expand...
Click to collapse
Indeed, your image produces a false recognition. It is quite probable that this is a zxing related bug, but I'll have to investigate it further. Actually I have encountered this faulty recognition once.
hypest
Do you plan to release your source so that others might be able to develop customized applications? I personally would like to have it query a MySQL DB via the web over HSDPA connection to query inventory levels and pricing of product in my warehouse. Other uses might be to have it auto-query the UPC against an online DB to find the best price for a given product or to upload the UPC to an on-line DB to review later from your desktop.
After you take the picture with the Shoot option what do you hit to have it decode it? If i hit the return (back arrow) nothing happens, and if i hit the OK key on the front of my Tilt, nothing happens...
PengLord said:
Do you plan to release your source so that others might be able to develop customized applications? I personally would like to have it query a MySQL DB via the web over HSDPA connection to query inventory levels and pricing of product in my warehouse. Other uses might be to have it auto-query the UPC against an online DB to find the best price for a given product or to upload the UPC to an on-line DB to review later from your desktop.
Click to expand...
Click to collapse
Actually, these uses are exactly what I have in mind! The app will act just as the barcode-recognition medium. The backend will be the really interesting stuff .
I just have to figure out some serious problems and in the meantime I'll decide whether to release the code in an organized manner, or just enable the tool to be used as external executable from other apps (or a linkable lib).
pizzaguy said:
After you take the picture with the Shoot option what do you hit to have it decode it? If i hit the return (back arrow) nothing happens, and if i hit the OK key on the front of my Tilt, nothing happens...
Click to expand...
Click to collapse
On my kaiser, either way works . Most of the time though, I use the front (D-PAD) OK button just because is easier to press.
I have updated the #1 post and attached a build with some debugging messages. Please try that too and report which messages you see.
hypest
hypest said:
I have updated the #1 post and attached a build with some debugging messages. Please try that too and report which messages you see.
Click to expand...
Click to collapse
"Dialog didn't return OK!"
apears when pressing OK on the D-Pad or the icon.
i have a German TyTn II.
ROM Version: 1.56.407.3
Nadavi_HTC_Camera_5_0_4_2915_00.cab is installed, could this be the issue? the preinstalled version was .... sh.... not very good.
hope this helps you a bit..
Im not a great coder but i found a nice PDF that might be good to help with decoding the image. http://www.atilim.edu.tr/~misafran/proje web/BIS04.pdf
bypass build
Fellow posters,
I have revised the #1 post to include a newer build, hopefully with better results. This one tries a different approach to reach the captured image..
to pizzaguy:
The paper might be helpful, event though it is not presented as simply software-based (it benefits from the DSP processor present).
hypest
it still doesnt work.
Barcorama_bypass.exe
IOException
bei System.IO.__Error.WinIOError()
bei System.IO.Directory.InternalCreateDirectory()
bei System.IO.Directory.CreateDirectory()
bei TestNS.TestCL.button1_Click()
bei System.Windows.Forms.Control.OnClick()
bei System.Windows.Forms.Button.OnClick()
bei System.Windows.Forms.ButtonBase.WnProc()
bei System.Windows.Forms.Control._InternalWnProc()
bei Microsoft.AGL.Forms.EVL.EnterModalDialog()
bei System.Windows.Forms.Form.ShowDialog()
bei TestNS.TestCL.Main()
P.S.: This comes if i klick on "shot" buton. The camera app dont even starts.
P.S.2: just tested the verbose version. It seems to be something wrong with directory name. it says \Storagecard\Barcorama\Barcorama_verbose.exe. I think it should say only \Storagecard\Barcorama .
I am new to this forum and have seen a lot of tweaks here that could improve the performance. I have a Diamond but do not know how to tweak i.e. where do I go on the phone to get into regedit mode. I know on my PC and Laptop, I have to go to 'Run' and type 'regedit' and press 'enter' to get in to the registry editor. How can I do the same on the Diamond? Pease help.
Registry editor
You need a registry editing program. There are a number of third party programs available. One of the simplest is included in _Total Commander_ a file manager which includes a registry editor. There are also a number of free standing editors, at least one of which is free. Check this forum for threads.
anson
read wiki about diamond tweaks there are plenty
Thanks
Thank you very much ansonr and xdaking for your feedback.
**BE VERY CAREFUL WITH THESE TOOLS. IT IS ENTIRELY POSSIBLE TO DO IRREPAIRABLE DAMAGE.**
Ripped from the Xperia ROM, these programs allow control over a number of settings in the device.
RegisterEditor should allow direct reading and writing of registers on the qualcomm msm72xx chipset, which will allow control over virtually every setting available, just need to determine addresses and potential values, etc
TBattery talks directly to the battery chipset, and returns values such as mAh capacity, battery temperature, current draw, percentage remaining, etc.
DbgTerm allows real time display of Debug Log on device.
DebugTool allows among other things redirecting of KITL output to USB. You can also configure the level of logging for the Debug Log and have it save the log to SD.
Save Kernel KITL Log to SD:
1.) Open DebugTool.exe, input value 43D in [5]DebugFlags, click menu -> write
2.) Shut Down with Power Button (long press), and start up
3.) Do actions you want to be logged (load program that fails, drivers, etc.)
4.) Plug phone into usb, connect w/activesync and copy off /Storage Card/HtcLog/*.txt
5.) Open DebugTool.exe, input value 0 in [5]DebugFlags, click menu -> write
FMTuner allows direct advanced control over the FM Radio chipset, among other things allows activation without headphones (although I don't see a way to route audio to the speaker)
Uni-AT allows issuing of AT commands to the ROM.
dump a raphael ROM and open up rilphone.dll in a hex editor, look for the strings like +CRING, @AGPSADDRESS, $HSUPA_STATUS, these are AT Commands that can be issued to the radio ROM, to query status and alter settings.
Query an existing setting like so:
AT+CRING?
AT$HSUPA_STATUS?
[email protected]?
Querying a command should give you some input as to the required format.
Change a setting like so:
AT+CRING=1
AT$HSUPA_STATUS=1
[email protected]=1
For a setting with multiple parameters, such as AT+HTCNV, set it like so: AT+HTCNV=param1,param2,param3
Useful AT Commands:
AT+RADIOVER : returns radio rom version
AT+HTCNV : returns +HTCNV: 1,10,8 - param1 = DTM support, 1/0, param2 = MCS support 8/10/12, param3 = HSDPA Category 6/8/12
AT+HTCENS : ENS support 1/0
Reserved for more stuff
WOW!!!!!!!!
this would get alot more views in the diamond section.... thanx for posting it still
Looks like most of these tools were posted in Diamond section already here: http://forum.xda-developers.com/showthread.php?t=416334&highlight=htc+debug+tools
However everyone seemed to miss the significance of RegisterEditor entirely, it's listed in the linked Wiki as a 'very basic registry editor' but it has nothing to do with the registry at all..
Anyway, this is a dup post. Doh! But these versions are newer, and i'll try to make it more useful by including more knowledge about the apps
Wow! Kudos for this! Amazing. Register Editor is very powerful. Gotta map this out
Interesting. I wonder if these tools could be useful in unlocking the FM radio on CDMA Touch Pros.
[Edit: I noticed that you specified these were for the 72XX chipset. Any idea what kind of compatibility they have with the 75XX?]
Not sure, worth a try since they are similar, the api might be the same. You should be able to try a read operation without harming anything..
FMTUner Tested on Raphael
I've tested FMtuner on Raphael CDMA but nothing happens, I mean, the tool works, but no frequency is detected.
Fabian
bedoig said:
Interesting. I wonder if these tools could be useful in unlocking the FM radio on CDMA Touch Pros.
[Edit: I noticed that you specified these were for the 72XX chipset. Any idea what kind of compatibility they have with the 75XX?]
Click to expand...
Click to collapse
there is CDMA debugtools set, grab it from any cdma beta rom (maybe posted on ppcgeeks, if not, i can upload it here), similar to gsm but for example the AT tool differs (UNI_AT will not work on CDMA) etc etc.
bump for adding new AT commands
Is there some documentation for tBattery explaining exactly what each reading is?
Also have a suggestion if possible that it include a time hack with each sampe it saves to the log instead of just a start and end time.
Thanks in advance.
cmonex said:
there is CDMA debugtools set, grab it from any cdma beta rom (maybe posted on ppcgeeks, if not, i can upload it here), similar to gsm but for example the AT tool differs (UNI_AT will not work on CDMA) etc etc.
Click to expand...
Click to collapse
Could you post the CDMA debugtools set?
Thankyou very much
someone asked me in PM today to post the tools, see attachment.
tbattery
how exactly do i install this program? do i just copy it to my SD card and open it from my phone? thanks in advance
yup, copy to eg SDcard to DebugTools folder and run the debugtool
Well, just to start things off I will mention that this bunch-o-tweaks runs on both WWE roms and the only Japanese rom on this board: the X04HT rom that qtotter was so generous in dumping upon us .
To get JP input running on WWE rom WITHOUT that tacky keyboard garbage:
Install the following:
1. Diamond TF3D Config
2. LetsJapanNo6.cab
3. IME_31J_F.cab
4. SpbKeyboard4.arm.cab
In any order you choose. SpbKeyboard4.arm.cab is the nice find I made tonight.
So the order is not terribly important but it is how I did it. The TF3D config is always installed anyways.
So after installed TF3D and LetsJapan, reboot the device. You will see that your Japanese contacts in the contacts screen and any other Japanese you have on your device will change from random boxes to actual characters. The point of having TF3D config installed is so that at this point you can change the TF3D display to Japanese and set the date settings for TF3D to display the correct Japanese date: yyyy年MM月DD日 .
Next, install IME_31J_F.cab. This will install the crappy xvga soft keyboard etc. Everytime I see this I feel sick. It's not so bad with the X01HT or Tytn or maybe even the touch pro, because there is a hardware keyboard. I like the idea of typing with my finger and not with my stylus; that's why I got a diamond.
Next install spbkeyboard.arm.cab. This cab basically updates the gui for the ime_31j_f keyboard and integrates the old ctrl-shift-shift-ctrl into a simple button.
I don't know if anyone wants to take it from here. By "take it from here" I mean, figure out some way to combine the files from letsjapan, with ime31j and have the input as spbkeyboard so that this entire process can be somewhat streamlined.
I found the spbkeyboard on a Japanese site so I would assume it will work with a Japanese ROM. I am going to flash my diamond right now with qtotter's ROM and give it a go.
I just wish that ROM was more streamlined. I am surprised no Japanese have cooked any versions of the Softbank ROM yet. I can't find one anywhere
RAR file with all 4 cabs inside can be found HERE
Diamond TF3D shouldn't be required, but of course it's a nice config tool to have. The two required components are LetsJapanNo6 and IME_31J_F (along with some reg edits), all of which have been rolled up into a single easy-to-install cab file by flinx1 over here:
http://forum.xda-developers.com/showthread.php?t=445550
SpbKeyboard4 is an optional keyboard which can utilize Japanese input provided by MSIME. There are many other soft keyboards. Softbank also has a nice custom 12-key input which some people are currently working on extracting into a CAB file.
That is the "Advanced Wnn" that all japanese HTC Diamond phones (not only the softbank one) have as default (replacing the T9).
You could also use the gesture10key theme for the touchkeysip.
http://dench.flatlib.jp/vec/more/touchkeysip109.zip
http://www.geocities.co.jp/lauhangwoo/zero3/gesture10key040.zip
In order to use this you need to set up the gesture10key_w.txt as the theme.
shikigamild said:
That is the "Advanced Wnn" that all japanese HTC Diamond phones (not only the softbank one) have as default (replacing the T9).
You could also use the gesture10key theme for the touchkeysip.
http://dench.flatlib.jp/vec/more/touchkeysip109.zip
http://www.geocities.co.jp/lauhangwoo/zero3/gesture10key040.zip
In order to use this you need to set up the gesture10key_w.txt as the theme.
Click to expand...
Click to collapse
The spbkeyboard works as standalone on the JP rom. Just go into options and enable JP.
edit:
So I have been using this spbkeyboard with my JP rom but I have come to the conclusion that it sucks balls for entering JP. So I will use the pretty decent 10key for JP input and the spbkeyboard for EN input. My reasoning:
The spbkeyboard seems to be limiting the number of possible kanji options for a certain word. It also lacks the ability to enter katakana directly (unless I am missing something). It also lacks the ability to enter a symbol while keeping the dotted line under the word to help you select the correct katakana or marks, IE:
マーク
郵便番号
For mark (above), it allows you to enter ま then when you press the SYMbol button, the dotted line under ま disappears. So you are unable to turn まーく into マーク. You could do it character by character but that just takes too freaking long.
For 〒 mark, you typically enter 郵便番号 and then press space to get 〒. There is no option for the mark. In the 10key, you can enter the symbol screen (different than that of the spbkeyboard symbol screen) and enter the 〒.
Ok, enough of my ramblings.
I installed spbkeyboard and couldn't find any jp support? Also asked spb and they said no?
I have been looking for this software for a while now, but currently none is really providing what i need.
I need a simple software program (somewhat like HTC GPS Tool) in the form of a cab, not like LocViewer, which is in Java and bugs out sometimes (also doesnt display correct MGRS format)
something like this:
http://www.gorissen.info/Pierre/maps/googleMapLocation.php
combined with this site:
http://www.arsitech.com/mapping/mgrs/
but than converted to a somewhat more mobile friendly enviroment.
the idea of that site is exactly what i need.
Possible to enable/use Google maps to have an idea of your surrounding.
but mainly being able to display MGRS (WGS84) coordinates.
Example:
My current location (resp. lat/lon): 51.969005 / 6.738310
Converted to MGRS WGS 84: 32U LC 44636 600007
if someone could help me out with that, i'd be very gratefull!
for those more knowledgable about GPS etc.
the site also refers to the following table:
http://www.arsitech.com/mapping/geodetic_datum/#WGS 84
*bump*
is there no one who can help me out with this?
Muskokatech Pathaway GPS Pro. It costs 100 dollars... only program I have found that can show MGRS.