Skip to main content

Use External Bluetooth GPS receiver

#1 Make sure your Android has developer settings

Recent Android operating systems don't have developer settings available by default, and the location of those settings is in different places on different OS versions. On older OSs, you can find the developer settings in the Android Settings app, under Applications > Development. On newer OSs, "Developer options" are at the top level of Android Settings, but you may need to make them visible. You do that by opening Android Settings > "About phone" and then scrolling down to find the "Build number." Tap the build number about 7 times and you'll see messages that count down until you "become a developer." (If you see Setting / "Developer Options", then you are already a developer!)


#2 Turn on "Allow mock locations."

Check the "Allow mock locations" in Android Settings' developer settings. This is required for the Bluetooth GPS app to make the GPS receiver's location data available to ANDMAP, bypassing the built-in GPS.

#3 Turn off internal GPS
#4 Turn off Wi-Fi, Data Connection(save battery)
#5 Turn on bluetooth
#6 Pair bluetooth GPS



Popular posts from this blog

useRef in store.subscribe, re-render

const Dashboard : React . FC = () => { const store = createStore ( countReducer ) const divRef = useRef < HTMLDivElement >( null ); store . subscribe (() => { const state = store . getState () if ( divRef . current ) divRef . current . innerText = `this is cool, another listener: ${ state . count } ` ; }) return ( ... < button onClick = { () => store . dispatch ({ type : ActionType . INCREMENT }) } > add </ button > < button onClick = { () => store . dispatch ({ type : ActionType . DECREMENT }) } > minus </ button > < div ref = { divRef } > 0 </ div > ... ) } Re-Render: const count = useRef ( 0 ) ; useEffect ( ( ) => { count . current = count . current + 1 ; } ) ; return ( < > < input type = " text " value = { inputValue } onChange = { ( e ) => setInputValue ( e . target . value ) } /...

setup prettier / eslint for create-react-app typescript

1. npm i -D prettier  2. create .prettierrc.json { "trailingComma": "all", "tabWidth": 2, "singleQuote": true, "jsxBracketSameLine": true,    "semi": false } 3. npm i -D eslint-config-prettier 4. in package.json, add this: "eslintConfig": { "extends": [ "react-app", "react-app/jest", "prettier" ] }, 5. install extension in VS Code Prettier extension

Big-Oh (O) Notation, and sorting in Javascript

Asymptotic notations are classified into three types: Worst case time complexity : It is a function defined as a result of a maximum number of steps taken on any instance of size n. It is usually expressed in  Big O notation . Average case time complexity : It is a function defined as a result of the average number of steps taken on any instance of size n. It is usually expressed in  Big theta notation . Best case time complexity : It is a function defined as a result of the minimum number of steps taken on any instance of size n. It is usually expressed in  Big omega notation . Space complexity : It is a function defined as a result of additional memory space needed to carry out the algorithm. It is usually expressed in  Big O notation . Big-Oh (O) notation Big Omega ( Ω ) notation Big Theta ( Θ ) notation Default sort() in JavaScript uses  insertion sort  by  V8 Engine of Chrome  and  Merge sort  by  Mozilla Firefox  and...