Difference between revisions of "User:Esev"

From LinuxMCE
Jump to: navigation, search
(New Event Plugin)
(New Event Plugin)
Line 111: Line 111:
  
 
Check out clipsmm for C++ interface to CLIPS: http://clipsmm.sourceforge.net/
 
Check out clipsmm for C++ interface to CLIPS: http://clipsmm.sourceforge.net/
 +
 +
 +
Wakeup at the start of each minute
 +
if (ProcessEventQueue()) {
 +
  clips->run()
 +
}
 +
 +
In the send-command function {
 +
  send-command
 +
  wait-for-response
 +
  ProcessEventQueue()
 +
  return;
  
 
<hr />
 
<hr />

Revision as of 21:46, 9 November 2010

Welcome to my user page. I started with LinuxMCE in July of 2010. Home automation is a hobby of mine and LinuxMCE offers all the flexibility that I need. I have experience with system/backend level programming on linux and am willing to contribute back to the project where ever it makes sense.

Real Name: Eric Severance
Blog: http://esev.com/blog/
LinuxMCE Setup: Hybrid Core + 2 Media Directors
Contact Me: Send an email




Bookmarks

ToDo list for 0810


Can't access scenarios via number keys

The Quick tip on navigating the Orbiter screen by pressing numbers is not working for me.

#LinuxMCE-Devel on 20101031

<esev> TSCHAKeee2: Hm, I see how the shortcuts work now.  The device template sets the mapping and the orbiter controls what command the shortcut executes.  The shortcuts seem like a single button press type thing.  I thought the wiki was describing a way to navigate the OSD menus.  Was I mistaken?
<TSCHAKeee2> yes
<TSCHAKeee2> we do set button mappings for button arrays
<TSCHAKeee2> for orbiter menus
<esev> ok.  I see that now in hadesigner.  ie designobj 3456 is for the lighting options
<esev> it is mapped to button 1
<esev> media to button 2, etc
<TSCHAKeee2> yup
<TSCHAKeee2> now look at the arrays
<esev> in hadesigner?
<TSCHAKeee2> yup
<esev> hm, having a harder time following that one, but I think #1258 (butMediaArray) is one of them.  I see it is mapped to button 1
<TSCHAKeee2> now look in src/UpdateEntArea
<TSCHAKeee2> in the different UpdateEntArea_Lights.cpp and UpdateEntArea_Media.cpp
<esev> ok.  I see the pCommandGroup->AddCommand with the OrderNum parameter
<TSCHAKeee2> *nod*
<esev> I see OrbiterGen sorting on OrderNum, but I don't see it assigning a button based on it
<TSCHAKeee2> then it doesn't.
<TSCHAKeee2> :)
<esev> ha! :)
<esev> I see it now in OrbiterGen "// In an array we want to increment the buttons"
<TSCHAKeee2> esev: the point here was to take you through how it's all set up
<TSCHAKeee2> esev: also, if you're looking for a variable in orbiter that magically shows up
<TSCHAKeee2> esev: and it's in OrbiterData.h
<TSCHAKeee2> esev: look in OrbiterGen
<esev> thanks TSCHAKeee2
<TSCHAKeee2> esev: for it's a serialized variable that OrbiterGen creates, and serializes for later unpacking by orbiter when it starts.
<esev> I think I can follow the rest from here
<TSCHAKeee2> cool ok
<TSCHAKeee2> hopefully it's a bit more clear how that part works

See also


Document the GYR4101US remote

There is pretty good documentation on the Gyration_GYR3101US remote. I'd like to clean up the pages for the Gyration_GYR4101US remote and add a codes page similar to the Gyration-GYR3101US-codes page. It'll be easier to track down which button controls which events if this is properly documented.

Also need to upload the latest modifications I've made to the HID driver to fix the Power button repeat issue.

Other pages of interest:


Submit Xbox 360 device template

I'd like to use my Xbox 360 as an external DVD player. Most of the remote codes on remote central page work (T=1), except for power on/off. For some reason those codes tend to flip flop between T=0 and T=1. The solution is to combine the T=0 and T=1 codes for those two commands. (See The ProntoEdit HEX Format details needed to combine codes)

Power On: ON(T=1) + ON(T=0)

0000 0073 0000 003F 0060 0020 0010 0010 0010 0010 0010 0020 0010 0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0020 0020 0010 0010 0010 0010 0010 0010 0020 0020 0020 0020 0020 0020 0010 09AC 0060 0020 0010 0010 0010 0010 0010 0020 0010 0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0020 0020 0010 0010 0010 0010 0020 0020 0020 0010 0010 0010 0010 0010 0010 0020 0020 0020 0020 0020 0020 0010 09AC

Power Off: OFF(T=1) + OFF(T=0)

0000 0073 0000 003F 0060 0020 0010 0010 0010 0010 0010 0020 0010 0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0020 0020 0010 0010 0010 0010 0010 0010 0020 0020 0020 0020 0010 0010 0020 09BC 0060 0020 0010 0010 0010 0010 0010 0020 0010 0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0020 0020 0010 0010 0010 0010 0020 0020 0020 0010 0010 0010 0010 0010 0010 0020 0020 0020 0020 0010 0010 0020 09BC


Add info about inputs to capture cards

MythTV is a little difficult to setup if LinuxMCE doesn't have information about your channel providers. I've been able to develop a work around for my setup by realizing MythTV_Plugin doesn't like capture cards with Source=0. It would nice if at minimum the Source input box on the device had a drop-down for each of the video sources. It would be even nicer if on the Media Director wizard page, the inputs were broken out and both Source (for MythTV) and FK_Device_Capture_Card_Port (for external devices) could be set.

 start with lmce-admin/operations/myDevices/mediaDirectors.php
 - $pvrArray
 - getPVRCards
    Need to extend query to get children

Maybe someday list


Native web orbiter

Orbited_For_A_New_WebOrbiter would be interesting to look into


Add DCE bindings for other programming languages

Python, Java, Javascript, and Ruby are a few that come to mind. All follow an OO paradigm that would allow the objects to look and feel similar to the C++ equivalents.

I believe the DCE base libraries should be implemented in the language vs requiring a C++ plugin/native interface - this is so the base libraries will work anywhere the language works. This means all the code in src/DCE will need to be implemented in the other language.

A variant of sql2cpp and DCEGen could be created for each language too to help with development. I think the sql2cpp variant should be written in C++ so that the language not need to be installed on a build server. The DCEGen should be written in the native language so that it will work where ever there is an interpreter for that language.


New Event Plugin

Check out this tutorial on intercepting DCE messages

See also the DataLogger_Plugin

Hoping to be able to intercept device data changes as well as events.  Device data changes are needed to support Drools notifications.

Unserialization occurs in Gen_Devices/*Base.h inside the GetConfig function.  It sends a CONFIG message on the Event Channel. DeviceList population occurs inEvent_Impl::GetDeviceListcalled from within GetConfig.

Check out clipsmm for C++ interface to CLIPS: http://clipsmm.sourceforge.net/


Wakeup at the start of each minute if (ProcessEventQueue()) {

 clips->run()

}

In the send-command function {

 send-command
 wait-for-response
 ProcessEventQueue()
 return;

Use mobile phone as asterisk trunk

See this forum post. chan_mobile won't work because it takes over the bluetooth dongle - and also requires the dongle to be in the core.

The bluez/alsa integration work looks promising. If working it could easily be integrated with linphone/simplephone.