-
-
Hi All, I started with the dtauncer code and have ended up with what I think is a quite nice launcher. You can swipe left or right or use the buttons, press BTN2 to launch the App in the middle. I have been using it for a few days.
One of the issues that I ran into (which also impacts dtlauncher) is that some of the icons are black with maybe transparen middles. These dont work when put on a black background. What I observed was it looking like Apps had disappeared in the launcher. A couple of good examples are the cliock and the route app, both of these icons disappear. To workround this I have placed the icon on top of a grey background to start, but its a bit messy. I guess I could just set the whole screen to oliveGreen or something. The other issue that can happen is working out how to split a log App name onto the top and bottom line. At the moment I am just splitting on the first word but maybe I need to select the best of splitting on the first or last word. Screenshots below.
-
-
So I am under the impression that the only way to have an App that will run in the background is to do it through a widget.
GPSinfo: keeps the screen on and as soon as you switch out of the app the GPS will turn off. In SuperE mode it will draw 73mA all the time. The only way to exit the app is to do a BTN3 reset and then the GPS gets turned off. That might be fixable.
GPSrecorder will only record while the GPS settings screen is displayed. Exit the app using the Back option, the GPS widget icon will stay on but there will be no more GPS fixes as the GPS is powered off. I have verified this by connecting up the Avo and looking at the current draw. At this point the screen is on drawing 36mA, when the screen times out it goes to 0.02mA (ie the GPS can't possibly be powered on). Switch the screen back on (using BTN1) and the current goes back up to 36mA, I would expect the current to be 73mA if the GPS and screen were on at the same time.
At the moment the gpsservice widget / gps.face.js / osref.face.js app is the only combination (i have observed) that will allow: Switch the GPS on, switch to the gps.face (looks like GPS info but will switch out to other Apps) and see the number of satelites and the fixes come in, switch to the osref.face and I can see a grid reference. I can switch to as many apps as I like without the GPS being powered off as long as I dont do a BTN3 reload or a BTN1+BTN2 reset.
The switching the GPS off behaviour in GPSrecorder might be down to the load(); that is executed when "Back" is selcted. Is there a way round that ? If that is down to load() then it means any other app calling load will effectively turn the GPS off as well.
'View Tracks': viewTracks, '< Back': ()=>{load();} };
-
So the GPS chip itself has some battery backed RAM. In order to get the power settings to stick you have to call UBX-CFG-SAVE(). For the Widgets to work together without interferring with each other I will need to comment out 1 line where I reset the GPS to SuperE mode on powerOff. This should mean the GPS settings, setup through the GPS Settings app (currently called GPS Service) will come into play everytime another app just calls Bangle.setGPSPower(1).
We will probably have to remove the countDown / log frequency / code settings from the GPSRecorder. If you set the GPS update time to say 120s through the GPS Service app then that will effectively control how often you get a fix to log. That will work for most situations. Also will need to hide one of the Widget ICONS when both GPS Service AND GPS Recorder are running together. For example I could see a sitation where you want to see the grid reference or GPS information watch face AND have the GPS logging at the same time AND also maybe be switch to following a route at the same time. At the moment that would mean two GPS widget icons will appear.
I will do some experiments, EG set things up on the GPS Service, set interval time to be 2mins, check that the recorder records every 120s or there abouts (as I say I will need to comment out the code in GPS recorder to ignore the value of 'Time Period' in its settings.
I will post any proposed code changes here for discussion rather than do a pull request.
-
setWatch(function() { //BTN5 if (timer) clearInterval(timer); timer = undefined; Bangle.setGPSPower(0); drawMoon(offsetMoon, x, y); //offset, x, y }, BTN5, {edge:"rising", debounce:50, repeat:true}); } start(); ===================================================== ERROR: App moonphase's moonphase.app.js is a JS file but isn't valid JS $
-
Hi there,
I tested out Route Viewer on a 2.5 mile circular walk I do regulary and could not get it to work. My route had 36 points and throughout the walk the app just told me how many meters I was away from point 2.
I guess its always possible that the GPS was not getting fixes but the screen only said 'NO GPS' for the first minute or so while it established a fix. It looks like you only get the ability to have 1 route at a time. I can see thats baked into the html interface.Might try again with a shorter route nearer home. Is there a way of getting console.log() to send output a phone App ? Ah - there is an Android version of IDE..... but cant yet get connected.....might be my phone.
Hugh
-
So I did the change to the gpsservice widget to return settings to SuperE. I'm now wondering if that was the right thing to do. Would it be better for GPSrecorder to turn on the GPS picking up whatever GPS settings have been stored for the gpsservice widget when it was last used. The other option is for GPSrecorder to power on the GPS through gpsservice.gps_power_on(). If we want GPSrecorder to just Power On the GPS then I will need to take out the small bit of code that does a reset to SuperE mode when gpsservice does a GPS power off. Hope that makes sense. Happy to go either way.
The other question is: which widget do you see as being responsible for writing the fix to a log and checking that it is within the desired settings. Probably GPS recorder? If so the logging settings belong to the GPSrecorder as well. I have been thinking loggings needs 4 settings. logging ON/OFF, log threshold DISTANCE or TIME based, distance setting (needs a logorithmic options scale 1,2,5,10,20,50,100,200,500 meters), time setting (1,2,5,10,20,60,120,300,600 seconds). Obviously it will be up to the user to pick compatible GPS update times with the logging time.
I might do some tests with both widgets being on, possibly taking out the count down code in GPSService and relying on the setting for update time in gpsservice. IE just make GPSrecorder log when it gets a fix (with fix.fix true).
-
-
Hi there,
I'm not getting a KML or GPX file to download when I use the GPSrecorder HTML interface.
The track list is obtained and I get the buttons to download. When I click on one of the download buttons there is some activity while connecting to the Bangle. But after that no file downloads and there is nothing in my download folder. I can download files ok through the IDE. Also put bangle.com on my whitelist for Ad blocker.Running on a Chromebook using google Chrome browser. I can see some exceptions when I turn developer tools on. Hopefully that will help. I'm not a web developer so not able to go much further with it.
-
-
So ideally I think the way this should work is that there is a configurable service widget and client Apps that provide the UI and presentation.
There is an assumption in the GPSrecorder that you wil get a fix every second and you just count down the number of fixes and record the nth fix. This will no longer be true when using the gpsservice set for an update period of say 120s.
Also I think the logging needs to be configurable, eg min_distance_before_log so that you have to move so many meters before you log a new point, otherwise you will end up with 26 points when you stop to look at the map for a couple of minutes. When logging a 10k mountain walk you really only want about 50-100 points at most, maybe 100m apart. The min time to wait before logging a next point also needs to be set and then log whatever comes first.
Definitely agree duplicate code all over the place is not a good idea and dont want to make things worse. I will have to read the code for the openstreetmap library to understand how it works.
I was thinking of using the same file format so that I could add logging and then use the GPSrecorder app to plot my logs.
You say its possibe for 2 widegts to coexist ? Is this really true if both are setting up the GPS config differently ? Is it possible to have 2 widgets registered as callbacks for Bangle.on('GPS',onxxx) ?
Thinking about this I have realised there are still a few issues with gpsservice that I need to address. 1) there needs to be a gps_set_settings(settings_object) so that any App can pass in a configuration. I am not sure yet if that would write the settings back to storage OR if calling that should cause the GPS to power on if the settings were changes to ON (i think better to keep turning on/off as seperate call). 2) the gps_power_off() needs to set everything back to SuperE power management (ie default) so that the next app that uses the GPS is not using an unexpected configuration. I will work on fixes for these issues next.
-
-
-
Hi Gordon,
Do you know who maintains the GPS recorder App?
First I want to send my congratluations on the UI that draws the track. See screenshot.
Really great job. This app deserves a good README file with screenshots, I'm happy to make a start on one.Secondly I was trying to figure out the filename format for the track files. It seems they are meant to be of the format .gpsrcN where n appears to be 0,1...9,a,b.....z. I would like to add logging to the gpsservice widget and use the same format so that the track drawing feature can be used.
I wonder if a different filename format would be more user friendly, could I suggest gpslog.nn.csv Perhaps it would be usefult to have some standard filename formats for Pedometer, Heart rate and GPS logs.
Thirdly I encountered a problem when I tried to create a log. I set the track number to 1 and could not see a log file being created. Later on I discovered and odd looking filename and it clearly had gps log data in it. So I think there is some sort of defect here, if track 0 is skipped. (see screenshots).
Could you put me in touch with the person that developed GPS recorder ?
Thanks
Hugh -
I've not come across the concept of sub-modules before in git. I just cloned my fork.
Now tried (in the hope I did not need to setup an HTTP server).
git clone --recursive git://github.com/foo/bar.git cd bar
But still got the same issue (no apps in the loader page).
I dont think its going to be possible to setup a HTTP server on a chromebook.
The linux beta (where git is installed) runs in a seperate container. -
Have done a gpsservice widget with a settings app that sets the kind of parameters you describe above. Full details in the README at:
https://github.com/hughbarney/BangleApps/tree/master/apps/gpsservice
Have sent a pull request.
-
-
I took a fork of the main Bangle repository.
I then cloned my repository to host it locally on my Chrombook (running Linux Beta).I wondered it it is possible to run the App loader locally.
When I open Chrome and open the index.html file all I get is a display with no Apps in it.
When I look in the debuggers console I could see complaints about CORS - so I turned that off.
Then I have realised that various javascript cant be found as they are in paths like core/lib etc.
When I look in git/core it does not have any files in it.As things stand is the App Loader bound to being hosted on github only ?
I'd like to be able to work and test on a local repository otherwise all edits have to be done through github GUI and committed before I can do a test. Having to edit/commit on github first is quite a slow process and it also makes it harder to prepare the repository for doing a pull request later on.
Have I missed something ?
-
@Gordon - did you spot that I think I have low power working ?
-
-
Is there any news on fixing the built in pedometer. The default one definitely over reads. I can literally move my hand a few inches and it thinks I have walked a few steps. On Sunday I know I did about 2500 steps all day, but it read 11000 at the end of the day. I have not had time to try further tuning of the ActivePedometer.