Difference between two revision of bluetooth profile - bluetooth

I want to know the exact difference between bluetooth profile HFP_1.6 and HFP_1.7 revision.From where I will get these difference.
Is there any section in the document of HFP specs.
Thanks,

Due to the new adapted Bluetooth spec template, you may can not find the different between v1.7.1(the latest) and the v1.6.
However, you can find the main feature difference for the Table 3.1 -Application layer procedures. this table described the main features for each HFP version, e.g. you can find v1.6 added WBS(and codec negotiation) and Individual Indicator Activation features, and v1.7 added "HF Indicators" than v1.6. That's the main difference.

Related

Dynamic Waveform Creation While Running in a Domain

I am trying to connect the USRP_UHD device to the FM_mono_demo waveform. The waveform's component that connects to the USRP_UHD is the TuneFilterDecimate. The USRP_UHD outputs 16-bit integers while the TuneFilterDecimate computers requires float values.
The fix is to add the DataConverter component at the beginning of the FM_mono_demo waveform.
I am going to be experimenting with a different sdr whose 'device' output floats, making the original waveform correct.
Therefore I need to have two versions of the FM_mono_demo waveform, the original and one modified with the DataConverter component.
A better solution would be to launch the DataConverter component, if needed, using python and connect it to the first component of the waveform.
There is a method to launchComponent within the sandbox, but I cannot find a way to do so within a domain.
An idea would be to create two waveforms. One would be the main waveform and the second would consist of components that could be accessed and connected to the main waveform.
This leads to the idea that multiple waveforms could be connected at run-time to allow for dynamic configuration. There is a lot going on with this question. Maybe I overlooked an obvious way to solve my original problem.
Your problem is rather broad, but I think I can point you in the right direction.
It seems as though you're dealing with two issues:
Moving from sandbox to domain
Dealing with multiple devices
For problem 1), I recommend you dig further into the manual, specifically this section: Redhawk Manual: The Runtime Environment.
For problem 2), you can find more information in the manual in this section: Redhawk Manual: Working with Devices. That section includes specifying a particular hardware device and running components with Redhawk devices (proxies to the actual hardware device).
I recommend you start with those steps and post specific questions as you run into issues. You didn't actually ask a question here, but I think your confusion lies within understanding the Redhawk architecture itself.

Any sample of V4 universal printer driver

Does anybody know a sample of V4 Universal Printer Driver?
Actually, I was looking for a sample in last two days but I did not found any instance. All Universal Printer Drivers from many vendors are based on V3 print driver model.
It seems that close coupling among data files and V4 print driver model makes it difficult (even practically impossible) to develop UPDs.
At last I found a sample from Xerox. See here and here.
Xerox has released this driver package near a month ago (29.OCT.2018).
From my personal point of view it is not still a Global/Universal print/printer driver.
There are more than 250, .gpd files and more than 230 .dpb (driver property bag) files inside the package to cover all product range, means vendors have to create different .gpd (and may be .dpb) file for every single printer or even printer model.
It seems that there is a very long way to make this issue possible using this model.

windows ce - 2d graphics library

I have Windows CE 5.0 device and it doesn't support any hardware accelearation.
I am looking for some good 2d graphics library to do following things.
I prefer backend programming in Compact .Net Framework.
Drawing fonts with antialiasing.
drawing lines, and simple vector objects with antialiasing.
I am not doing animation, so i don't care about frames per seconds performance.
i have looked into following libraries, but nothing suits me.
opengl (vincent 3d software rendering) - works, but api is very low level and complex.
openvg - no software implementation for windows ce.
Cairo - api is very neat, but no wince build.
Adobe Flash - installs as browser plugin , no activex support in wince.
Anti-aliased fonts in .Net CF 2.0+ can be done with Microsoft.WindowsCE.Form.LogFont -- after creating your logfont, you can use it with any WinForms widget's .Font property by converting it using System.Drawing.Font.FromLogFont().
...you might need to enable anti-aliasing in the registry for these to render properly, see this MSDN article for the right keys: [http://msdn.microsoft.com/en-us/library/ms901096.aspx][1].
There was a decent implementation of GDI+ for .Net CF 1.0 called "XrossOne Mobile GDI+", it's not longer supported, but you can get the source code here: http://www.isquaredsoftware.com/XrossOneGDIPlus.php -- Run it through the import wizard on VS2008 to build it for later versions of CF. I liked this library for its alpha transparency support without hardware acceleration, rounded rectangles and gradient support.
Someone was advertising this library in some forum. It's for Windows Mobile, but you can check it out. I have no experience with it.
link
I have Google's skia library compiling under WindowsCE, although I haven't done much with it yet :) It wasn't too hard to get working. It does support a OpenGL/ES backend.
There is also AGG (Anti Grain Geometry) which is a heavy C++ library based on templates.

Capturing print output as vector format (PDF,SVG,EMF,etc.)

BACKGROUND
I am using a commercial application on windows that creates a drawing
This application allows only two output options: (1) save as a bitmap file and (2) print to a printer
the bitmap is useless for my purposes - I want the vectors
Looking at the print output (I sent to the Windows XPS print driver) it seems clear based on the amount of zooming I can do without loss of detail that the underlying vectors are being send to the print driver
Once I get the vectors, I will be writing some code to transform them for some other use.
MY QUESTION
Whart are my options for geting the vectors from the print? (am open to both commercial and open source)
OPTIONS I HAVE THOUGHT OF SO FAR
Take the bitmap and use a program like VectorMagick to. I have tried this approach. It does not produce the fidelity I seek even when the original bitmap is large. Practically speaking I believe that using any tracing approach will not give me the quality vectors I need.
Print to the Adobe PDF driver. This technically works. I have Adobe CS4 so I can print to it save the resulting PDF and then import the PDF into Illustrator and then export as some other vector format. The problem with this approach is money/licensing. I own a personal copy of Adobe CS4 - so this is fine for me. But I need to capture the vectors at work for business purposes - and no I'm not going to install my personal copy of CS4 at work.
Is there a "print driver" that captures the print output directly into a vector format? I have seen some commercial ones via google. If you've used them, I would like to hear about your experience with this technique. I could write my own and in that case do you have links to any existing code that I can start with.
If this is an ongoing solution you need then you might need to buy something or build your own. If it's a onetime affair you might look to use an 'older' Lexmark PCL printer driver. I'd recommend something like the T610. If you download the PCL driver and install it you can modify the defaults and change the Graphics option from XL or Autoselect to GL/2. This will force the driver to output GL/2 output which is vector (GL/2 is a plotter language). This might do the trick for you. Other printer drivers may have the abiltiy to force GL/2 (vs. Raster) but I'm not sure. I use to work for Lexmark and have used this before for a similar requirement.
Ensure you use the Lexmark 'Custom' driver as I don't think the Microsoft-based one support this feature.
...pausing while I investigate a few things............I'm back...
Another option is to find another GL/2 driver or build you own...I just took a few minutes to search the web and came up with a few other options that might work.
Build you own:
I've built drivers (minidrivers) using the Windows Driver Development Kit (DDK), it's quite simple to construct basic drivers. Looks like there is a setting you can set to enable GL/2 output: Enabling HP-GL/2 Vector Graphics Support (PCL-5e) in the GPD
Alternate drivers:
Depending on the OS you are on there is probably a 'generic' GL/2 driver built in. I believe XP has a Hewlett-Packard HP-GL/2 Plotter. You might need to check the license (as with the Lexmark solution) but it might work for you and as it's part of the OS there shouldn't be concern about using it. It's probably written and copyrighted to Microsoft
Keep in mind you will have to do some work to convert GL/2 to whatever output you want but it should be a matter of an simple translator to convert each set of commands. There may be tools out there to help. Here is a quick link to Lexmark GL/2 reference which might be enough to get you going, check out the GL/2 information under the PCL section: Lexmark Technical Reference Guide
Postscript:
The last option I have is to use a generic Postscript driver. Postscript should output the vector images as vector graphics in the Postscript but my knowledge of this is limited at best.
Output:
If you need the output to route to file you can set the port to FILE: which requries user intervention, or install something like Redmon (or connect with me and I'll send you our port monitor that allows for automatic output to file).
Hope this helps in some way.
My favorite is the open source (GPL) PDFCreator
http://sourceforge.net/projects/emfprinter/

Developing drivers with no info

How does the open-source/free software community develop drivers for products that offer no documentation?
How do you reverse engineer something?
You observe the input and output, and develop a set of rules or models that describe the operation of the object.
Example:
Let's say you want to develop a USB camera driver. The "black box" is the software driver.
Develop hooks into the OS and/or driver so you can see the inputs and outputs of the driver
Generate typical inputs, and record the outputs
Analyze the outputs and synthesize a model that describes the relationship between the input and output
Test the model - put it in place of the black box driver, and run your tests
If it does everything you need, you're done, if not rinse and repeat
Note that this is just a regular problem solving/scientific process. For instance, weather forecasters do the same thing - they observe the weather, test the current conditions against the model, which predicts what will happen over the next few days, and then compare the model's output to reality. When it doesn't match they go back and adjust the model.
This method is slightly safer (legally) than clean room reverse engineering, where someone actually decompiles the code, or disassembles the product, analyzes it thoroughly, and makes a model based on what they saw. Then the model (AND NOTHING ELSE) is passed to the developers replicating the functionality of the product. The engineer who took the original apart, however, cannot participate because he might bring copyrighted portions of the code/design and inadvertently put them in the new code.
If you never disassemble or decompile the product, though, you should be in legally safe waters - the only problem left is that of patents.
-Adam
Usually by reverse engineering the code. There might be legal issues in some countries, though.
Reverse Engineering
Reverse engineering Windows USB device drivers for the purpose of
creating compatible device drivers for Linux
Nvidia cracks down on third party driver development
This is a pretty vague question, but I would say reverse engineering. How they go about that is dependent on what kind of device it is and what is available for it. In many cases the device may have a similar core chipset to another device that can be modified to work.

Resources