You Are Here:

Community: Blogs

Open Source Bluetooth PAN's Forum Nokia Blog

Attempt to create a CSY module

Carbider | 10 January, 2008 14:55

So yes.
I've stand on the way of creating my own CSY module.

It is some kind of a reckless scheme for me. I have no any assurance it will help me in my researches. Furthermore, the web-search on "create custom CSY module" brings me back to my own blog post about serial protocols. Cool.
I call this adventure as a crazy attempt because it demands to throw together a lot of components without strong hope it will bring to essential result.

But the rays of hope are:

1. When creating new IAP, one of the Data Base fields is: "MODEM_CSY_NAME".
Some previous adventurers used it to set as "BTCOMM". Hmm good.
2. It is possible to create new serial modules. How? The search returns me back to my posts. The discussion boards speak only about connecting to modules.
3. There is a framework on Symbian OS called "Ecom". Ecom provides interaction between clients and polymorphic DLLs, which CSY modules, at my sight, are.

The Ecom's (symbian.com/../v9.2docs/../EcomArch) so-called plug-ins are polymorphic DLLs. Those DLLs provide the interface, the implementation and the factory functions (which instantiate concrete classes).

As it is said here, Serial protocol modules also have Service providers (interface implementations), Protocol Factories (that are called to instantiate serial service provider) as well.

Looks pretty familiar to understand the serial modules are finally polymorphic DLLs too.

Thus let’s try to accommodate my own DLL instead of BTCOMM.CSY.

By these conditions I've imported the Ecom example from SDK to launch and explore.
The example is situated in SDK folder:
/Symbian/9.2/S60_3rd_FP1/Examples/SysLibs/ECom/

and has 3 sub-folders:
-» InterfaceClient
-» InterfaceDefinition
-» InterfaceImplementation

After unsuccessful build I’ve noticed the given project depends on extra sources at the 'examples' folder.
It was 'CommonFramework' situated at '/Symbian/9.2/S60_3rd_FP1/Examples/'.

So I’ve copied entire 'CommonFramework' inside ‘Ecom’ and modified some paths.

In '/InterfaceClient/InterfaceClient.mmp'
USERINCLUDE   ../..CommonFramework
to
USERINCLUDE   ../CommonFramework

The familiar change at file: 'Ecom/.cdtproject'

So to be exact with my creepy idea we need:
-» Create new IAP,
-» Go to CommDB database and change this IAP record field 'MODEM_CSY_NAME' to newly-fledged polymorphic DLL.
-» See if there is any way DLL can be launched after user picks hackneyed IAP.
-» Maybe to rename DLL to CSY as well.
-» Of course, the final goal is that DLL to start working as serial module plug-in.

Besides there is work to divine the appropriate entry point to serial module DLL.

Meanwhile the project was built successfully and I've got two DLLs as a result.
The 'ExampleResolver.dll' and the 'EComExample.dll'.
As expected, they are not extension ".csy" provided.
The 'ExampleResolver.dll' is an Interface Definition.
The 'EComExample.dll' is an Interface Implementation.

Putting their names to CommDB records didn’t bring any results.
Even giving them 'csy' extension wouldn't help.

Being on this stage I'm still wondering if anybody knows:
1. How to write a proper CSY module.
2. How to create a Bluetooth Access Point. Which tables and rows of CommDB should be affected for this purpose.

I'll appreciate any comments on this subjects.

RSSComments

csy module

balvinder.p.singh | 16/01/2009, 22:36

Hi Konstantine,
I wrote a new csy on my own on the same lines as btcomm.csy or ircomm.csy it is working to quite some extent but it still has some scheduling issues with other applications runing parallely.
By any chance did you get some precise documentation regardign how and what abt the CSY?

If yes please forward to me .
Thanks
Balvinder.

You must login to post comments. Login
 

Rate This

 
 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZdescriptionQSxCarbiderE20E7cE2010E20JanuaryE2cE202008E2014E3a55E20SoE20yesE2eIE27veE20standE20onE20theE20wayE20ofE20creatingE20myE20ownE20CSYE20moduleE2eItE20isE20someE20kindE20ofE20aE20recklessE20schemeE20forE20meE2eE20IE20haveE20noE20anyE20assuranceE20itE20willE20helpE20meE20inE20myE20researchesE2eE20FurthermoreE2cE20theE20webE2dsearchE20onE20E22createE20customE20CSYE20moduleE22E20bringsE20meE20backE20toE20myE20ownE20blogE20postE20aboutE20serialE20protocolsE2eE20CoolE2eIE20callE20thisE20adventureE20asE20aE20crazyE20attemptE20becauseE20itE20demandsE20toE20throwE20togetherE20aE20lotE20ofE20componentsE20withoutE20strongE20hopeE20itE20willE20bringE20toE20essentialE20resultE2eButE20theE20raysE20ofE20E2eE2eE2eX qdcZidentifierQSxhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomE2fblogE2fopenE2dsourceE2dbluetoothE2dpansE2dforumE2dnokiaE2dblogE2f2008E2f01E2f10E2fattemptE2dtoE2dcreateE2daE2dcsyE2dmoduleX qdcZpublisherQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fc764fd1cE2d8b06E2d499aE2d9a6aE2d17c3903d5a65E2fforumE5fnokiaE5fcrawlerE5fagentX qdcZtitleQSxOpenE20SourceE20BluetoothE20PANE27sE20ForumE20NokiaE20BlogE20E7cE20AttemptE20toE20createE20aE20CSYE20moduleX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZBlogContentQ qdcZtypeQUqfntypeZBlogE45ntryQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qrssZdescriptionQSxCarbiderE20E7cE2010E20JanuaryE2cE202008E2014E3a55E20SoE20yesE2eIE27veE20standE20onE20theE20wayE20ofE20creatingE20myE20ownE20CSYE20moduleE2eItE20isE20someE20kindE20ofE20aE20recklessE20schemeE20forE20meE2eE20IE20haveE20noE20anyE20assuranceE20itE20willE20helpE20meE20inE20myE20researchesE2eE20FurthermoreE2cE20theE20webE2dsearchE20onE20E22createE20customE20CSYE20moduleE22E20bringsE20meE20backE20toE20myE20ownE20blogE20postE20aboutE20serialE20protocolsE2eE20CoolE2eIE20callE20thisE20adventureE20asE20aE20crazyE20attemptE20becauseE20itE20demandsE20toE20throwE20togetherE20aE20lotE20ofE20componentsE20withoutE20strongE20hopeE20itE20willE20bringE20toE20essentialE20resultE2eButE20theE20raysE20ofE20E2eE2eE2eX qfnZdistributionQUxhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomE2fX qfnZtopicQUqfnTopicZconnectivityQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZcppQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZseriesE5f60QRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZtestingQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtypeQUqfntypeZBlogContentQ qfnZtypeQUqfntypeZBlogE45ntryQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZupdatedQDx2008E2d01E2d10X qfnZuserE5ftagQSxconnectivityX qfnZuserE5ftagQSxs60X qfnZuserE5ftagQSxsymbianE2dcE2bE2bX qfnZuserE5ftagQSxtestingX qmarsZdescriptionQSxCarbiderE20E7cE2010E20JanuaryE2cE202008E2014E3a55E20SoE20yesE2eIE27veE20standE20onE20theE20wayE20ofE20creatingE20myE20ownE20CSYE20moduleE2eItE20isE20someE20kindE20ofE20aE20recklessE20schemeE20forE20meE2eE20IE20haveE20noE20anyE20assuranceE20itE20willE20helpE20meE20inE20myE20researchesE2eE20FurthermoreE2cE20theE20webE2dsearchE20onE20E22createE20customE20CSYE20moduleE22E20bringsE20meE20backE20toE20myE20ownE20blogE20postE20aboutE20serialE20protocolsE2eE20CoolE2eIE20callE20thisE20adventureE20asE20aE20crazyE20attemptE20becauseE20itE20demandsE20toE20throwE20togetherE20aE20lotE20ofE20componentsE20withoutE20strongE20hopeE20itE20willE20bringE20toE20essentialE20resultE2eButE20theE20raysE20ofE20E2eE2eE2eX qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZBlogContentQ qrdfZtypeQUqfntypeZBlogE45ntryQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ