Page 9 of 41
Re: SleepyHead Qt v0.8 alpha
Posted: Fri Jul 22, 2011 9:51 am
by jedimark
robysue wrote:Reporting bugs here.
First, I did rename the SleepyApp directory that's in the Documents folder for the old version of SleepyHead before starting SleepyHead-0.8-20110721-1
It didn't crash for me, but it's not fully functional either---at least not in the same sense that SleepyHead-0.7-4229 is.
Here's where I'm running into problems with 0 .8-20110721-1:
Application STARTS ok and I can download the data into 0.8-20110721-1 without any problems. The waveform for the last day of the data shows up just fine and the graphs for that data work in the sense of being able to zoom in and so forth.
But if I click on a different day that I know (from SleepyHead-0.7-4229) has wave form data available? The wave form and other detailed graphs do NOT CHANGE. In other words, the graphical data simply stays on the first day that was shown after uploading the data. The data in the sidebar switches just fine however.
And if I click on a day with no waveform data (because I forgot to put the SD card into my PR System One BiPAP Auto all the way that night), then I get "No data available for <date>" in the right part of the window and "No CPAP data available" under the Daily tab on the left sidebar part of the window---even though Encore Viewer still has all the tick marks, the leak data, and the pressure data available for the date.
Also whenever I try to switch tabs---from Daily to Summary for example---the sidebar on the left switches appropriately, but the graphical stuff on the right just simply vanishes---and I basically see whatever is on the computer's desktop underneath or the Welcome to Sleepy Head page (which I see seems to depend on how I got into the daily data in the first place)
Am I missing something really basic in making the 0.8 version work correctly? I ask because I really like its look and feel and the way the tick mark graph does NOT zoom in when you zoom in on the waveform, but I can't use it the way it currently behaves on my Eee PC Seashell netbook that I use for my xPAP data.
Do you by any chance know what graphics chip is in your EeePC? Some of those problems indicate an incompatible graphics card. I'm not using very advanced OpenGL calls, but unfortunately, Qt does some stuff behind the scenes I have no control over, and makes some unnecessary OpenGL calls.
Check your AntiAliasing setting.. This may not work on a few graphics chips.. (It doesn't on my old Dell notebook I do most of my development on)
The fact you can zoom graphs makes this a little weird though.. I have fixed some things while solving the crash that may help these issues.
Try using the Noon Date Split option in the View menu, exit and restart the application..
and check your region/timezone is set correctly in control panel.
One thing that may really help you here if your EeePC has a newer operating system then windows XP on it: Right click on the SleepyHead Icon, and click properties.. Find the tab that has XP Compatibility mode stuff in it.. underneath there is some checkboxes.. One disables desktop compositing, and one disables theming for SleepyHead.. Try turning off both these features.. It may make things come to life for you. (Basic edition of 7/Vista might not have these at all, it's worth a look though)
One more thing to note, SleepyHead 0.7's calendar days are advanced by one (today's date showed last nights sleep data).. Version 0.8 should match Encore & ResMed days, ie, last night's sleep goes into yesterday in the calendar. I'm still not sure which method is best. 0.7's way still makes a little more sense to me.
Re: Calendar Days
Posted: Fri Jul 22, 2011 12:04 pm
by archangle
How about labeling the ends of the daily graphs with the day being covered? e.g. Graph starts at 22:00, ends at 08:00, label the end of the graph with 7/21 and 7/22. Maybe with "AM and PM." Put a marker of some kind at midnight. Maybe even a line that just runs top to bottom through all graphs. Or perhaps, put the time numbers in two colors. i.e. 11:50 00:10
"Days" are always going to be confusing, because most of the time we start in one "day" and go into the next "day." As confusing as it is, I probably agree that the "day" starting at noon on Thursday should be labeled with Thursday's date, since we tend to say, "Boy I had a bad night Thurdsay," not "Boy I had a Thursday night/Friday morning."
Re: Calendar Days
Posted: Fri Jul 22, 2011 12:17 pm
by archangle
Hmmm.... How about letting the "Day" view not be locked to a calendar "day" anyway? Allow it to be up to a 24 hour window into the data and the user can scroll/zoom the events flag window to start and end what time he wants to study. Even allowing a more than 24 hour window would be nice if the data volume doesn't get too ugly to handle.
You would have to figure out how and when to recalculate the details data.
This would help with those with weird sleep patterns. Or if you want numbers, but don't want to count the 2 hours when you couldn't sleep, or the 2 hours you spent watching TV wearing the CPAP trying to get used to the pressure.
Re: SleepyHead Qt v0.8 alpha
Posted: Fri Jul 22, 2011 12:58 pm
by Pugsy
Just tried the most recent version of QT.
It failed with me also on initial download of data and upon retry it worked.
Once inside, the things I usually do worked fine.
Re: Calendar Days
Posted: Fri Jul 22, 2011 2:12 pm
by jedimark
archangle wrote:Hmmm.... How about letting the "Day" view not be locked to a calendar "day" anyway? Allow it to be up to a 24 hour window into the data and the user can scroll/zoom the events flag window to start and end what time he wants to study. Even allowing a more than 24 hour window would be nice if the data volume doesn't get too ugly to handle.
You would have to figure out how and when to recalculate the details data.
This would help with those with weird sleep patterns. Or if you want numbers, but don't want to count the 2 hours when you couldn't sleep, or the 2 hours you spent watching TV wearing the CPAP trying to get used to the pressure.
I might be missing what you mean, but if your talking about having all the data in one big linear graph with a session overview/index to control it while constantly updating the summary data, this is simply not practical, performance, memory or usability wise.
The calendar/day concept is pretty much a core component of sleepyheads design.. SleepyHead is meant to be more than just an interactive CPAP waveform and event viewer..
The algorithm for day split works quite well for both normal circumstances and shifties.. it merges close sessions (within 4 hours) to the previous day, and pushes before the split time (currently midday) to the previous day.. (a day can technically be more than 24 hours) I was thinking of adding a slider somewhere to change the split point.
An example, it's 6am now for me.. I'm on my recliner, masked up, but still tinkering... (bad sleep hygiene I know) Chances are I'll sleep past noon today. All this data will go to the previous day.. If I get up after 12 and go back to sleep, the new session also goes to yesterday.. and I don't get an ugly gap in my data. Using ordinary noon split like Encore would screw this up..
Sessions get sorted into days at startup.. Sleepyhead in theory can support any number of session sorting models.
Later on I'll add a way to tag a session as useless. Tagging parts of sessions may be possible too.. Chances are if it's crud mask time, your likely going to want the program to remember for next time. AHI/etc wouldn't include that time in it's calculations.
Re: SleepyHead Qt v0.8 alpha
Posted: Fri Jul 22, 2011 3:56 pm
by archangle
I sometimes only sleep a few hours in "night time" and can't sleep and then catch up on sleep in small chunks later between interruptions. Rather than having the program try to guess what my "day" is, it would be nice if I could tell it, "start at 6 AM, and go to 6 AM the next day." All those other sessions on both sides were me CPAPing while watching TV trying to fall to sleep. Or 10 AM to 4 AM the next day. Or 4 AM to 10 AM.
It would also be nice to be able to say, "Just give me the statistics for 10 PM till 2 AM where the thunderstorm woke me up and I sat there not sleeping for the next 4 hours." Or give me stats on this 3 hour session where I tried 11 cm instead of 12 cm.
It would also be nice to be able to choose, for instance, a 3 day stretch and get an events summary, even if data volumes don't allow graphs of all 3 days at once.
I can think of quite a few situations where I'm not interested in a "day."
Tagging a session or a part of the session as "invalid" is a great idea and could do much of what I want.
I'm also thinking "out of the box" on the concept of "days." Days vs. reports seems to be a big confusion factor. Maybe we should not worry so much about a "day" as "what happened in this time period." "Days" are a big deal for insurance compliance? How much do they really mean to us CPAP users? "Day" is a bit of a tough concept. Maybe we should simply not worry about it and view the time period we want to view.
By the way, it would be nice to have the option of a sliding the "daily" view window backwards and forwards in time, having a longer or shorter "day", being live, etc. I do understand that CPU/data/workload/display considerations may make it impractical.
I'm brainstorming now. Not "this is broke, fix it." Whatever works well and gets the job done. If SleepyHead simply does noon-noon days with no options, it's still great. And a heck of a lot better than the manufacturer's stuff.
Multiple instances of SleepyHead Running at the Same Time.
Posted: Fri Jul 22, 2011 4:07 pm
by archangle
I tried opening two instances of SleepyHead at the same time. They started, and everything seemed to work OK.
I could see how it might be useful to look at one time in one window and another time in another.
I thought I'd mention it in case this is something that could cause problems. I know I sometimes will minimize a program and start another instance because I forget I have one already open.
Re: SleepyHead Qt v0.8 alpha
Posted: Fri Jul 22, 2011 4:43 pm
by Breathe Jimbo
archangel wrote:"Days" are a big deal for insurance compliance? How much do they really mean to us CPAP users? "Day" is a bit of a tough concept.
Call me old-fashioned, but I use the concept of a "day" many times every day and do not find it to be a tough concept at all. I suspect many more people would have a problem with the software if the concept of a day were eliminated as a natural organizing principle.
Re: SleepyHead Qt v0.8 alpha
Posted: Fri Jul 22, 2011 6:32 pm
by archangle
Breathe Jimbo wrote:
Call me old-fashioned, but I use the concept of a "day" many times every day and do not find it to be a tough concept at all. I suspect many more people would have a problem with the software if the concept of a day were eliminated as a natural organizing principle.
OK, you're old fashioned, you old hound dog.
If you read the forums here, people are always getting confused by "days." "I just got up at 10 AM and looked at my data and it doesn't show anything for today." "I'm trying to understand the data from the bars listed as 7/13, but there's no 3 hour long session in the detail reports on Encore for 7/13. There's a 3 hour session for 7/14 at 2 AM, though."
Of course, Encore doesn't make it any easier by starting a "day" at the beginning of my 3:43 PM nap, and then labeling the time, not with the time but with hours from 3:43. "Let's see, I woke up feeling breathless at 6:12 AM, where's that on the chart? 6:12 AM - 3:43 PM is how many hours and how many minutes on this $#*$# graph?"
I'm just wondering if there's not some better way to view the data.
Re: SleepyHead Qt v0.8 alpha
Posted: Fri Jul 22, 2011 9:46 pm
by jedimark
archangle wrote:Breathe Jimbo wrote:
Call me old-fashioned, but I use the concept of a "day" many times every day and do not find it to be a tough concept at all. I suspect many more people would have a problem with the software if the concept of a day were eliminated as a natural organizing principle.
OK, you're old fashioned, you old hound dog.
If you read the forums here, people are always getting confused by "days." "I just got up at 10 AM and looked at my data and it doesn't show anything for today." "I'm trying to understand the data from the bars listed as 7/13, but there's no 3 hour long session in the detail reports on Encore for 7/13. There's a 3 hour session for 7/14 at 2 AM, though."
Of course, Encore doesn't make it any easier by starting a "day" at the beginning of my 3:43 PM nap, and then labeling the time, not with the time but with hours from 3:43. "Let's see, I woke up feeling breathless at 6:12 AM, where's that on the chart? 6:12 AM - 3:43 PM is how many hours and how many minutes on this $#*$# graph?"
I'm just wondering if there's not some better way to view the data.
Naps will always be problematic.. A solution is have a checkbox to hide short session groups by themselves (unless it's the only sessions of the day) (Or a drop down, with an option to only show naps)
I will state very clearly that the calendar/day model will not be changing here. It represents a lot of design, work and time that I'm not going to simply drop.. It can ride out till the end of version 1.0.. If it was a flawed design, I'd hold a quite different view.. I believe this model works well for the majority of cases. Plus I like it..
The alternative is effectively a per session model, which I personally view as a nightmare to navigate through with a years worth of data. A overall session time browser graph is certainly possible.. It would only select within day records though.
The split times/session sort algorithm can be made a lot more adjustable.
Maybe later I'll work a clever way of calculating a few basic things like AHI for a highlighted area in a legend box without murdering graph performance.. The left panel is meant to be a daily overview and is core part of that Calendar/Day model design.
Re: SleepyHead Qt v0.8 alpha
Posted: Sat Jul 23, 2011 1:21 am
by jedimark
Hi I uploaded a Windows build which should stop the crashes and some more of the annoyances..
I'm not 100% sure on the PRS1 sync issues yet.. It's rather complicated.. It should be improved if not fully functioning anyway.
I haven't been able to test these last few windows builds as well as usual, because my wifes ASUS Notebook has died, and she keeps pinching (and hiding) my Toshiba which has a second hard-drive with windows Vista on it. Hers has gone back to ASUS for warranty repairs.. I hope they hurry up. :}
I'm pretty sure your sick of downloading over 10MB updates every time only to find it crashes, so I've done something about it for future builds.. This one's still big but contains a dynamic build of sleepyhead which uses DLL's.. It's packaged in a Zip file.. Unzip anywhere and create a short-cut to SleepyHeadQT.exe binary on your desktop. There's a smaller .7z for those who know what to do with it. (Yes, the 1.0 release version will have a proper installer)
This allows two things for future updates.. One, you will be able to just download the much smaller binary next time (It currently packs down to 650Kb), as the DLL's stay the same. and two, I can eventually implement an auto-update feature.
Here's where to get it:
http://sourceforge.net/projects/sleepyh ... s/Testing/
SleepyHead.zip (~16MB)
or
SleepyHead-0.8-alpha with dlls.7z (12MB) (Same thing, just better compression using the freely available p7zip tool)
Re: SleepyHead Qt v0.8 alpha
Posted: Sat Jul 23, 2011 2:55 am
by theSleeper
Amazing speed of updates !.
Just downloaded this latest. I ran into the following issues:
- There is a need to delete the existing database in the my Documents folder as the data seems incorrect. All past data needs to be read again.
- If I ran it before downloading all data again, it didn't crash but showed bad data
- In my case it crashes after downloading the data from the card (Win 7 Enterpise)
- Whenever I run the program after that, it crashes at startup
- When importing I get a message of: faulty header checksum; timestamp restart
Oh wait, after deleting and importing for the 3rd time, I get into the daily menu with correct values. Switching to the overview diagrams (multiple days) crashes the tool.
It's pretty random. Could it be that a virus scanner messes up ?. The program accessing files while the scanner is busy with it as well ?
Sorry to say but it looks like the previous version was more stable. What I did notice though is that the location of the events were more in line with the waveform. In the earlier version the waveform looked fine while an event (CA/OA) was present. Probably out of sync due to a missing part of the waveform earlier in the night.
Re: SleepyHead Qt v0.8 alpha
Posted: Sat Jul 23, 2011 4:39 am
by jedimark
theSleeper wrote:Amazing speed of updates !.
Just downloaded this latest. I ran into the following issues:
- There is a need to delete the existing database in the my Documents folder as the data seems incorrect. All past data needs to be read again.
- If I ran it before downloading all data again, it didn't crash but showed bad data
- In my case it crashes after downloading the data from the card (Win 7 Enterpise)
- Whenever I run the program after that, it crashes at startup
- When importing I get a message of: faulty header checksum; timestamp restart
Oh wait, after deleting and importing for the 3rd time, I get into the daily menu with correct values. Switching to the overview diagrams (multiple days) crashes the tool.
It's pretty random. Could it be that a virus scanner messes up ?. The program accessing files while the scanner is busy with it as well ?
Sorry to say but it looks like the previous version was more stable. What I did notice though is that the location of the events were more in line with the waveform. In the earlier version the waveform looked fine while an event (CA/OA) was present. Probably out of sync due to a missing part of the waveform earlier in the night.
It's still crashing!#!!!?? Crud. I honestly though I nailed it..
Faulty header checksum means you have corrupt data on your SD card. This could be causing the crashes, but I doubt it..
Timestamp restart's are just a message dumped when it has to resync..
I left the debugger output by default to help nail some of this stuff.
At least now it's only a small download to try a new test. The 10MB thing was getting old real fast..
Re: SleepyHead Qt v0.8 alpha
Posted: Sat Jul 23, 2011 8:08 am
by victormiller
Hi Mark, The new version is great, but I still can't get it to read the old oximetry data. I did point it to the directory Program Files>SPO2>Data
which contains a bunch of files with the type spOr which is what the SPO2 review program looks at to look at old data. There is no .ini file in that directory. SleepyHead just says that there's nothing there.
Victor
jedimark wrote:victormiller wrote:Mark,, Thanks for all your effort on this. I did get Qt v0.8 alpha to work. You do say that it supports the Contec CMS50. How do I do that? I have a directory in which the SPO2 software that comes with the contec has saved the data from previous nights. I tried the file menu to point to that directory which didn't do anything. Is there some secret thing on the menu that I haven't seen?
Victor
PS. I'm a mathematician, and know another mathematician who works in my field who has the same name as you at Penn State University. Are you any relation?
To get at your old CMS50 stuff, you need to point the importer at the directory containing "SpO2 Review.ini", "SpO2.ini" and "Data" files.
I think it's hiding under your "Application Data" folder somewhere.. Where exactly I never looked, because I didn't have the SpO2 software at the time I wrote that code.. If the location is consistent across windows versions (relative to the user folder, not C drive), I may add smarts to help find it later on..
To import new CMS50 stuff, plug your device in, and go to the Oximetry tab, check the serial port is correct, and click on Import button on the bottom right
once. Wait for it to finish. (I'm suspecting there is still a progress bar glitch with it) I fixed a bug in the source code affecting CMS50E oximeters today, there is still a bug calculating the length.. These changes aren't in the current windows build yet. If this process doesn't work, you'll have to do it via SpO2 Review software, and import the other way..
I have a fairly common name, and no American relatives that I know of on that side..
I love maths.. I suck at it unless a computer is involved though.
Re: SleepyHead Qt v0.8 alpha
Posted: Sat Jul 23, 2011 8:17 am
by SleepyJohn
hi victormiller
Point to the SpO2 folder itself, not the data folder inside it, SleepyHead expects the SpO2.ini and SpO2Review.ini to be in there together with the Data folder