LinuxMCE Forums
May 19, 2013, 04:52:55 am GMT-1 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Rule #1 - Be Patient - Rule #2 - Don't ask when, if you don't contribute - Rule #3 - You have coding skills - LinuxMCE's small brother is available: http://www.agocontrol.com
 
   Home   Help Search Chat Login Register  
Pages: [1]
  Print  
Author Topic: Introduce myself... and I'd Like to get started.. Advice?  (Read 1414 times)
mattlindsay
Regular Poster
**
Posts: 18


View Profile
« on: October 05, 2009, 08:46:22 pm »

Hi guys and gals, this is my polite intro Smiley

OK, I've NEVER contributed to an Open Source project before but I'd like to give it a go, but need your help to get me going.

My background is actually as a windows programmer {runs for cover} but I'm gonna step up the the plate with whatever LinuxMCE is in (C++ or C# I'm guessing?!) I have some excperience in a stack of other languages (PHP, SQL, Python and some obscure CNC lanaguages) so I'll be a slow starter, but I understand OOP, RAD etc. Oh, I'm a Systems Engineer by trade so I'm a quick learner!

So, I want to start looking through structure and attach to a code repository with Eclipse if possible. Could someone give me some pointers/step by steps to help get me started?

Does any Skype/IM/IRQ so I can meet some current users/Devs please?

Cheers and hi from sunny rainy England

Matt
Logged
colinjones
Alumni
LinuxMCE God
*
Posts: 3003


View Profile
« Reply #1 on: October 05, 2009, 09:43:20 pm »

Hi and welcome! You have a steep learning curve ahead of you, but all help is greatly appreciated! Its mostly C++, but PHP, Python and SQL will be very helpful as well. Ruby is used a bit, too.

The first thing to understand is the DCE system. This is a communications protocol (using TCP). Most of the LMCE system is modular using "DCE Devices" These are software modules that communicate with one another through the DCE protocol - it is an abstract command and data protocol for doing things like "volume up", "on/off", "turn light on", "play piece of media", etc. Each DCE Device is responsible for interpreting what that means in its context should it receive one of those commands. This way someone can add an entirely new DCE device to the system and the system does not need to understand how it does stuff, it just has to issue the appropriate abstract command and the device handles its interpretation.

Devices can be existing applications/packages/software that just have a DCE "wrapper" around them that translate the DCE commands into whatever control system the existing package has, or can be written from the ground up - using C++ LMCE provides some tools like DCEGen that give you a jump start.... this creates a skeleton/stubb piece of code with methods for all the DCE commands that you want to implement, and then you just drop the necessary code into those methods.

All DCE devices communicate through the DCE Router which sits on the LMCE core. A DCE device can be on the core, next to the DCE Router, on an MD (Media Director) over the network or anywhere else that is addressable on the network. Current DCE Devices can be viewed in the Web Admin under the Devices Tree. It is a hierarchy of devices, however not every object in that tree is a DCE device - some are just representative of functional units within a LMCE environment, and usually the "parent" device is the actual DCE device that sends/receives DCE commands on behalf of the child device.

The telecom subsystem is based on Asterisk and a DCE wrapper was written to interface it with the DCE system; whereas the media subsystem primarily uses xine-lib - the libraries that Xine also uses, and some DCE code was written to create a native DCE player from the ground up using those libraries.

I would advise you do lots of research on LMCE and DCE and how the infrastructure works. Then look into how you set up a Dev environment and collaborate with the other Devs through the CVS system.
Logged
mattlindsay
Regular Poster
**
Posts: 18


View Profile
« Reply #2 on: October 05, 2009, 09:52:07 pm »

Hey thanks Colin, that was an admirable reply!

I have done some reasearch into LinuxMCE (and am having fun building myself a system that works!)

The DCE router seems like a good architecture to me and I can get to grips with most of that I think. I'm sort of interested in replacing some of the presentation layer (if there is any) so am interested in how I can abstarct the application layer from the presentation layer if possible. Has anyone drawn any systems diagrams for this sort of detail?

Mostly though I'm working out how people communicate Smiley Is there an IRC channel (I've never used IRC btw!) - Do you skype? Is it all on forums?

Cheers Colin

Matt
Logged
colinjones
Alumni
LinuxMCE God
*
Posts: 3003


View Profile
« Reply #3 on: October 05, 2009, 10:03:55 pm »

Assuming you are talking about the OSI Presentation layer... not sure that there is anything as formal as that documented. Although there are some basic diagrams of a DCE network on the wiki.

Sorry, forgot the comms bit - IRC go to #linuxmce-dev on freenode. Your primary points of contact will be tschak909, hari, posde, radu, zaerc, etc who are located in a mixture of DE, US, NL and UK.
Logged
tschak909
LinuxMCE God
****
Posts: 5101

DOES work for LinuxMCE.


View Profile
« Reply #4 on: October 05, 2009, 10:14:00 pm »

This is good.

We need a windows developer to take over porting Orbiter to newer windows mobile platforms, and to keep the win32 build of orbiter current.

-Thom
Logged
mattlindsay
Regular Poster
**
Posts: 18


View Profile
« Reply #5 on: October 05, 2009, 10:16:10 pm »

Thanks guys

I did pop onto the IRC channel but it appears no one is there!

Thom, where's the best place to find info on the windows bits then?
Logged
tschak909
LinuxMCE God
****
Posts: 5101

DOES work for LinuxMCE.


View Profile
« Reply #6 on: October 05, 2009, 10:23:05 pm »

There isn't at present. You can check out the svn tree, and there are visual studio 7 and 8 project files for building the pluto stack on windows, makerelease will also produce the necessary binaries for the different orbiter releases we have now....

however as it stands, we produce windows targets for:

* Win32 desktop
* Windows CE 4.x (arm and x86)
* Windows Mobile 2003 (arm.. this is our PDA orbiter)
* Windows Smartphone 2003 (motoQ) and 2005 (Palm Treo 700wx). These are mobile orbiters, and work differently from the others above.

We need to produce targets for the current windows mobile devices, in addition to our present targets (WinMO 5.x and 6.x).

We will help as much as we can, but please understand, you're on the ground floor, a lot of research will need to be done on your part, and it's not all written down, if you get my meaning. Smiley A lot of this stuff was simply inherited, we need to figure it all out.

-Thom
Logged
totallymaxed
LinuxMCE God
****
Posts: 4310


View Profile WWW
« Reply #7 on: October 05, 2009, 11:40:35 pm »

Thanks guys

I did pop onto the IRC channel but it appears no one is there!

Thom, where's the best place to find info on the windows bits then?

You need to got to #linuxmce-devel by the way...Colin made a typo ;-)

Welcome from a fellow Brit ;-)

All the best

Andrew
Logged

Andy Herron,
Convergent Home Technologies Ltd
United Kingdom

Dianemo S Now Shipping on Ubuntu 12.04LTS
Build your system on the latest Ubuntu OS Release!

Get a Dianemo S License: http://forum.linuxmce.org/index.php?topic=8880.0
iOS Orbiter: http://wiki.linuxmce.org/index.php/Dianemo_iOS_Orbiter
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

Sales & Info:
http://www.dianemo.co.uk
mattlindsay
Regular Poster
**
Posts: 18


View Profile
« Reply #8 on: October 09, 2009, 07:45:21 am »

Thanks man.

Fellow Brit hey? Good work. Are there any usr groups in the UK (meet ups)? I'm in South East, near Woking. U?
Logged
totallymaxed
LinuxMCE God
****
Posts: 4310


View Profile WWW
« Reply #9 on: October 09, 2009, 12:09:03 pm »

Thanks man.

Fellow Brit hey? Good work. Are there any usr groups in the UK (meet ups)? I'm in South East, near Woking. U?

I dont know of any usr groups here in the UK around LinuxMCE...there are certainly quite a few people in the UK who hang around on the Forum... and we have a growing customer base here in the UK too (but typically our customers are just 'users' and have no interest at all in the systems technical aspects... or Open Source).

We're based in Chelmsford, Essex and we have a full blown demo suite here...so we're the opposite side of the M25 to you pretty much... see the footer in my messages for urls to our Web Sites.

All the best

Andrew
Logged

Andy Herron,
Convergent Home Technologies Ltd
United Kingdom

Dianemo S Now Shipping on Ubuntu 12.04LTS
Build your system on the latest Ubuntu OS Release!

Get a Dianemo S License: http://forum.linuxmce.org/index.php?topic=8880.0
iOS Orbiter: http://wiki.linuxmce.org/index.php/Dianemo_iOS_Orbiter
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

Sales & Info:
http://www.dianemo.co.uk
mattlindsay
Regular Poster
**
Posts: 18


View Profile
« Reply #10 on: October 09, 2009, 12:27:53 pm »

Your demo suite open on Saturdays? Smiley
Logged
totallymaxed
LinuxMCE God
****
Posts: 4310


View Profile WWW
« Reply #11 on: October 09, 2009, 12:38:31 pm »

Your demo suite open on Saturdays? Smiley

We dont usually open the demo suite on Saturdays. But we may be opening on some Saturday in a few weeks time - I'll let you know when we have the dates fixed. PM me towards the end of next week to remind me ;-)

Andrew
Logged

Andy Herron,
Convergent Home Technologies Ltd
United Kingdom

Dianemo S Now Shipping on Ubuntu 12.04LTS
Build your system on the latest Ubuntu OS Release!

Get a Dianemo S License: http://forum.linuxmce.org/index.php?topic=8880.0
iOS Orbiter: http://wiki.linuxmce.org/index.php/Dianemo_iOS_Orbiter
Follow us on Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

Sales & Info:
http://www.dianemo.co.uk
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!