Following are the steps to bringup Meego on Omap 3530EVM Mistral board : - Assumption : - Boot loader is u-boot. - Tool chain used for building kernel is compatible with the root file system of meego package for ARMV7. 1. Download u-boot if not present on target device from below URL : http://focus.ti.com/general/docs/wtbu/wtbusplashcontent.tsp?templateId=6123&contentId=4750#omap3530 2. Download linux kernel from below URL : http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git 3. Download the OMAP EVM kernel patch from below URL : https://patchwork.kernel.org/patch/85197/ 4. Download the SGX\GLES SDK (OMAP35x_Graphics_SDK_setuplinux_3_01_00_07.bin) from below URL : http://softwaredl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html 5. create_sgx_package.sh needs to be downloaded from below URL (http://bazaar.launchpad.net/~beagleboard-kernel/%2Bjunk/2.6-stable/annotate/head:/create_sgx_package.sh) Run create_sgx_package.sh while keeping the script and the OMAP35x_Graphics_SDK_setuplinux_3_01_00_07.bin in the same directory. One of the resulting files is named GFX_3_01_00_07_libs.tar.gz. which needs to be extracted in the Meego rootfs. 6. Meego rootfs http://wiki.meego.com/File:Handset-armv7l-beagle.ks#file 7. Make sure the previously generated GFX_3_01_00_07_libs.tar.gz is also in the current directory as the kickstart file while you build the image using mic-image-creator. 8. Flash the kernel to nand flash. 9. Two partitions for SD card - Root file system, SWAP. 10. Set the appropriate boot args for bringing up Meego UX from SD Card.
After hours of searching the net I have finally figured out a way to programmatically get and set the microphone gain (boost) value. The code mentioned below can be built on VS and does the job of setting gain value. #include "stdafx.h" #include <mmdeviceapi.h> #include <endpointvolume.h> #include <Functiondiscoverykeys_devpkey.h> #include "Audioclient.h" #include "comutil.h" #define EXIT_ON_ERROR(hres) if (FAILED(hres)) { goto Exit; } #define SAFE_RELEASE(punk) if ((punk) != NULL) { (punk)->Release(); (punk) = NULL; } HRESULT getMicrophoneBoostVolumeLevel(IMMDevice *pEndptDev, IAudioVolumeLevel** ppVolumeLevel) { HRESULT hr = S_OK; DataFlow flow; IDeviceTopology *pDeviceTopology = NULL; IConnector *pConnFrom = NULL; IConnector *pConnTo = NULL; IPart *pPartPrev = NULL; IPart *pPartNext = NULL; *ppVolumeLevel = NULL; wchar_t microphoneBoostName[] = L"Microphone Boost";//if your system ...
Comments
Post a Comment