Announcement

Collapse
No announcement yet.

Telematics.net

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Telematics.net

    Hello, all just wanted to let everyone know what I've been up to. I've been in the field of telematics for about 2.5 years now designing embedded hardware solutions to writing front-ends. I recently finished a front-end that I submitted to Xenarc.

    Written in VB6:
    Voice activated Audio list with alternate detection methods to accuratly "guess" what the user said even though SAPI didn't clearly hear what they said. It's rate of success was 97% (background noises did have an effect though, as well as mic. quality)


    - e-mail read back to the user (POP3 e-mail account)
    - DVD playback
    - Weather Updates, (81 maps, covering the entire US, 9 maps per region, 9 regions)

    - Wireless song transfer to the car from home pc (Server/Client software)

    I'm starting a new project, with the same concepts but written in .NET and hopefully it will be free for everyone to either use or for other programmers to get inspiration from.

    here's a teaser screen of the main interface (it's very rough right now and the icons will probably be changed 100000 times before it takes its final shape.)


    I was thikning of modelling the bottom task bar after mac's OSX "task bar"



    Progress [I will seriously never be done!]
    Via EPIA MII
    512MB RAM
    OEM GPS (embedded)
    nLite WinXP pro on
    1GB Extreme III CF card
    Carnetix 1260 startup/ DC-DC regulator
    Software: Still, re-Writing my existing front end in .Net

  • #2
    thought you already had some other carpc software that some people bashed?
    CarPC install is starting to come along again...

    Comment


    • #3
      Telematics.net

      Not sure how poeple could bash it, because it was never released to the public ?? It's only been sent to carpc venders.








      You've never seen this peice of software or used it, jackass
      Progress [I will seriously never be done!]
      Via EPIA MII
      512MB RAM
      OEM GPS (embedded)
      nLite WinXP pro on
      1GB Extreme III CF card
      Carnetix 1260 startup/ DC-DC regulator
      Software: Still, re-Writing my existing front end in .Net

      Comment


      • #4
        Looks cool, I like the way it looks. I would be interested in playing with it.
        肚子笑痛了
        S60 Install

        Comment


        • #5
          Originally posted by IntellaWorks
          Not sure how poeple could bash it, because it was never released to the public ?? It's only been sent to carpc venders.

          You've never seen this peice of software or used it, jackass

          lol i was talking about another piece, and I was just being sarcastic . But i do like the looks of this one. I didn't have much to say about it before because all i saw was a OSX looking bar and a black screen, sorry.
          CarPC install is starting to come along again...

          Comment


          • #6
            .

            No offense taken, I guess I can see where your comming from in the .NET software although it is in devlopment stages and I'll change the looks 1000 times. Thanks for the response back I feel better
            Progress [I will seriously never be done!]
            Via EPIA MII
            512MB RAM
            OEM GPS (embedded)
            nLite WinXP pro on
            1GB Extreme III CF card
            Carnetix 1260 startup/ DC-DC regulator
            Software: Still, re-Writing my existing front end in .Net

            Comment


            • #7
              Cool looking interface! No source code = no inspiration.
              2004 4runner

              Comment


              • #8
                .

                Here's the Gui class, its gunna control the form actions, opening and closing..
                I'd like to have the software remember where it was when ignition shuts the computer off, which is why its writing info to a database. "launch" & "hide" just controls opening and closing of forms right now.


                Code:
                Public Class GUI_Class
                
                    Public Enum gui_state
                        GUI_mp3
                        GUI_dvd
                        GUI_email
                        GUI_gps
                        GUI_settings
                        GUI_radio
                        GUI_tv
                        GUI_main
                    End Enum
                    Public globalGUI As gui_state
                
                    Public audio As New frm_audio
                
                
                
                
                
                
                
                    Public Sub Start()
                        Dim r_count As Integer
                        Dim i As Integer
                        Dim apps(1) As String
                
                
                
                
                
                
                
                        '*
                        'Set recordset up with all the fields
                        '*
                        InitDataBase("sql", "SELECT * FROM GUI")
                
                
                        r_count = main_recordset.Fields.Count
                        '*
                        'get total fields
                        '*
                
                
                
                
                        '*
                        'Set each action into the app(?) array
                        '*
                        ReDim apps(r_count)
                        For i = 0 To r_count - 1
                            apps(i) = System.Convert.ToString(main_recordset(i).Value)
                        Next
                
                        main_connection.Close()
                
                        '*
                        'Lets go ahead and look for a launch for each application or multiple apps
                        '*
                
                        If apps(1) = "launch" Then
                            '*
                            'Launch Audio by calling the audio class
                            '*
                
                            audio.Show()
                
                
                
                            ShowFiles("c:\")
                
                
                
                            'Temporary
                
                
                        End If
                
                        If apps(2) = "launch" Then
                            '*
                            'Launch Video
                            '*
                        End If
                
                        If apps(3) = "launch" Then
                            '*
                            'Launch email
                            '*
                
                        End If
                
                        If apps(4) = "launch" Then
                            '*
                            'launch gps
                            '*
                
                        End If
                
                        If apps(5) = "launch" Then
                            '*
                            'launch weather
                            '*
                
                        End If
                
                        If apps(6) = "launch" Then
                            '*
                            'Settings
                            '*
                
                        End If
                
                     
                
                
                
                
                
                
                
                    End Sub
                
                    Public Sub Evnt(ByVal application As Integer)
                        Dim holder As String
                        Dim Bfrm_audio As New frm_audio
                
                
                        Select Case (application)
                
                
                            Case 1 '::audio::
                
                                '*
                                'lets go out and get the value in the audio field
                                'and place it into: holder(string)
                                '*
                                InitDataBase("sql", "SELECT GUI.[audio] FROM GUI")
                                holder = System.Convert.ToString(main_recordset(0).Value)
                                main_connection.Close()
                
                                '*
                                'Check what holder has to say and do the opposite
                                'if hide then launch
                                'if launch then hide
                                '*
                                If holder = "hide" Then
                                    InitDataBase("sql", "UPDATE GUI SET GUI.[audio]='launch' WHERE GUI.[ID]=1")
                                    main_connection.Close()
                                    audio = Bfrm_audio
                                    audio.Show()
                                End If
                                If holder = "launch" Then
                                    InitDataBase("sql", "UPDATE GUI SET GUI.[audio]='hide' WHERE GUI.[ID]=1")
                                    main_connection.Close()
                                    audio.Hide()
                                End If
                
                                'End of event
                
                
                
                
                
                
                            Case 2 '::video::
                
                            Case 3 '::email::
                
                            Case 4 '::gps::
                
                            Case 5 '::weather::
                
                            Case 6 '::settings::
                
                        End Select
                
                    End Sub
                
                
                
                
                 
                
                
                
                
                
                
                End Class
                Progress [I will seriously never be done!]
                Via EPIA MII
                512MB RAM
                OEM GPS (embedded)
                nLite WinXP pro on
                1GB Extreme III CF card
                Carnetix 1260 startup/ DC-DC regulator
                Software: Still, re-Writing my existing front end in .Net

                Comment


                • #9
                  .

                  Keep in mind its not finished code, its more or less a representation of my psuedocode. I'm still playing with ideas and your seeing multiple ideas.

                  This code here in a nutshell, gets ADODB (w Jet4) database connections ready. Ahh and you can also run sql statements using Initdatabase(arg1,arg2)


                  Code:
                  Module main
                  
                  
                      Private Db_directory As String
                  
                      Public main_connection As New ADODB.Connection
                      Public main_recordset As New ADODB.Recordset
                  
                      Public gui As New GUI_Class
                      Public global_frmMAIN As New frm_main
                  
                  
                      Public Sub setfrm_main(ByRef frm As Form)
                          global_frmMAIN = frm
                      End Sub
                  
                      Public Sub ShowFiles(ByVal dir As String)
                          'this shows all the files in a directory
                          Dim d() As String
                          Dim str As String
                          Dim en As System.Collections.IEnumerator
                  
                          d = System.IO.Directory.GetFiles(dir)
                          en = d.GetEnumerator
                  
                          While en.MoveNext
                              str = (CStr(en.Current))
                          End While
                  
                      End Sub
                      Public Sub InitDataBase(ByRef whattodo As String, ByRef str As String)
                          Dim db_dir As String
                          Dim fil1 As System.IO.File
                  
                          db_dir = Application.StartupPath & "\telematicsDB.mdb"
                  
                          If fil1.Exists(db_dir) Then
                              Set_DBDIR(db_dir)
                  
                  
                              main_connection.Open(System.Convert.ToString(DataBase_Connection("Admin", "")))
                  
                  
                  
                              If whattodo = "sql" Then
                                  'sql statement inputted
                                  With main_recordset
                                      .ActiveConnection = main_connection
                                      .Open(str, , ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockPessimistic)
                                  End With
                  
                              End If
                  
                              If whattodo = "table" Then
                                  'select a table
                                  With main_recordset
                                      .ActiveConnection = main_connection
                                      .Open(str, , ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
                                  End With
                              End If
                  
                  
                  
                          End If
                  
                          'main_connection.Close()
                  
                      End Sub
                  
                      Function DataBase_Connection(ByVal DB_login As String, ByVal DB_PW As String) As String
                          Dim YesNo As Boolean
                          Dim FinalStr As String
                          Dim Db_Jet As String
                  
                          Db_Jet = "Provider = Microsoft.Jet.OLEDB.4.0;"
                          FinalStr = Db_Jet & "Data Source=" & Get_DBDIR() & ";" & DB_login & "," & DB_PW
                          DataBase_Connection = FinalStr
                      End Function
                  
                  
                      Function Get_DBDIR() As String
                          Get_DBDIR = Db_directory
                  
                  
                      End Function
                  
                  
                      Sub Set_DBDIR(ByVal db_dir As String)
                          Db_directory = db_dir
                      End Sub
                  End Module
                  Progress [I will seriously never be done!]
                  Via EPIA MII
                  512MB RAM
                  OEM GPS (embedded)
                  nLite WinXP pro on
                  1GB Extreme III CF card
                  Carnetix 1260 startup/ DC-DC regulator
                  Software: Still, re-Writing my existing front end in .Net

                  Comment


                  • #10
                    OK, that's at least marginally more inspirational. Have you considered using the .Net preferred method for saving application settings/state (i.e. app.config file)? Granted, you're probably going to have a DB around anyhow to track the media library, but I'm just thinking out loud -- that's part of the benefit you get by posting some code.
                    2004 4runner

                    Comment


                    • #11
                      You just inspired me. I could store all of my app settings in my DB instead of registry. Wow, i should go cut myself now. ::bashes head::
                      CarPC install is starting to come along again...

                      Comment


                      • #12
                        would you be up for making animation clips in between screens...
                        ie:
                        1.click on dvd button (dvd button has word DVD over a DVDdisk)
                        2. that disk twists and expands into the viewer, and zooms unitll a new menu pops up.

                        i am just wondering if you or anyone really wanted to start an interface with animations?

                        DICE
                        DICE Los Angeles
                        ]

                        Comment


                        • #13
                          this looks awesome
                          I consider that our present sufferings are not worth comparing with the glory that will be revealed in us.

                          www.neoterikos.com

                          Comment


                          • #14
                            Lookin' good!

                            I've been doing a lot of VB.NET projects over the last year and a half or so -- while there are a few drawbacks vs. VB6, the enormous benefits definitely outweigh the drawbacks. Everything works smoother and easier, and the UI improvements within the VS.NET IDE itself (e.g. much better, dynamic Intellisense) are quite useful.

                            I had actually started work on an app for music, nav, etc., but maybe I'll wait until you post up some of your files to resume work on the UI sections. The weather data seems interesting.

                            What are you using for music playback? (I'm using WMP9 in my app) And for the UI, are you using DX?
                            --ABakshi (A+, MCSE, MCT, CCNA, CCNP, CCDA, CCDP)

                            TechAutos.com (down for upgrades)

                            Via M10000N Mini-ITX ////

                            Comment


                            • #15
                              .

                              Hey everyone, I'd first like to anwser a few questions:

                              I was going to use windows registry and .Net built in functions to save my applications working state (i.e. is it playing a song, or was the gps software running. They way we normally do things to remember settings) I've found it SO much easier to tie everything into the database that my media files are going to be stored in..

                              In fact every media file is just going to be a class that has intrensic controls within itself. (i.e. it plays it self, knows its own working state) In the database, the working media file will have a field called "playing" and "position" only one song in the audio table of the database will have playing=true So when the ignition is cut from the carputer and power is lost to the system.. It will easily be able to recall what it was doing.

                              When the software starts, it goes to the GUI table in the database (code posted above) It checks the database to figure out what was opened. Then an event handler goes ahead and opens each feature in my software.

                              Each feature, then calls its own table of settings in the database (via SQL) and remembers what it was doing before the ignition was cut.

                              Whats your thoughts about doing this through database ?? I really think it streamlines the coding a hell of a lot better.
                              Progress [I will seriously never be done!]
                              Via EPIA MII
                              512MB RAM
                              OEM GPS (embedded)
                              nLite WinXP pro on
                              1GB Extreme III CF card
                              Carnetix 1260 startup/ DC-DC regulator
                              Software: Still, re-Writing my existing front end in .Net

                              Comment

                              Working...
                              X