cbebber13 / cdmaworkshoptool

Automatically exported from code.google.com/p/cdmaworkshoptool
1 stars 0 forks source link

Nv function requests(existing feature enhancement?) #7

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
NV Dump file is very very easy and available for every field, like We program 
any NV item via CDMA Workshop QxDM QPST or DFS and then Get NV item Backup

We need to make a Procedure which can take its hex Value and process and send 
it to Terminal like

WriteNVItem_Dump(int nv_number,Byte nv_bytes[])

This can further easy eveolved to import DUMP file form CDMA Workshop and 
Enhance the ability of CDMA Dev Term

Original issue reported on code.google.com by HetalDP@gmail.com on 19 Jan 2013 at 11:29

GoogleCodeExporter commented 8 years ago
Even when we program in QxDM we can easily get HEX values form it

Original comment by HetalDP@gmail.com on 19 Jan 2013 at 11:30

GoogleCodeExporter commented 8 years ago
WriteNVItem_Dump(int nv_number,string nv_bytesinhexstring)

Original comment by HetalDP@gmail.com on 19 Jan 2013 at 11:31

GoogleCodeExporter commented 8 years ago
The method does exist, the behavior is just inconsistent(due to bad param, or 
disabled nv items mostly afaik) above the "official" qualcomm range of nv items 
~8000+(decimal)

See the "cdmaDevTerm sample ironPython script" which shows up by default in 
2.85 for an example of its usage:

cdmaTerm.ReadNvList("900-915","nvOut.txt")

this will write the file to a cdma ws 2.7 format nv read

if you would like to view or work with the hex results directly in devterm, you 
can follow the example from the second example script at 
http://www.chromableedstudios.com/techninjutsu/scriptingwithironpythonincdmadevt
erm

nv = CommandFactory.GetCommand(NvItems.NvItems.NV_MEID_I)
cdmaTerm.Q.Add(nv)
cdmaTerm.Q.Run()
Logger.Add("\r\n")
Logger.Add(nv.bytesRxd.ToHexString())

nv.bytesRxd is a byte array, .ToHexString() is an extension method which lets 
you work with the hex string representation of the byte array

although writing the nv file back is not tested/supported at this time, the 
code to do that is there also from v.1 all the way to 2.85+

if you would like to contribute some code:

-the plan for re-working this section involves a base class or an interface 
which defines the Nv read and write, and several classes which inherit from 
base(or implement the interface) and implement specific formatting(Ex base: 
NvItems children:  NvItems _WorkshopTwo, NvItems _WorkshopThree, NvItems 
_WorkshopThreePlus, NvItems _Revskills)

as a side note: "NV Dump file is very very easy" is kind-of a painful statement 
for me to hear... I have invested a TON of my time and effort into a product 
which literally makes me no money and other people sell on ebay... IMHO, 
NOTHING, absolutely NOTHING is easy in cdma development/programming and 
statements like that DO NOT encourage me to continue development(in fact they 
make me want to pull-the-plug since I have already spent quite a bit of time 
attempting to help you by responding to your emails and posting that second 
example script: and it seems like you haven't bothered to read the source code 
of the application...)

Original comment by chromableedstudios on 19 Jan 2013 at 3:11

GoogleCodeExporter commented 8 years ago
on second read there are also these two methods, and I'm not sure if maybe you 
wanted this instead, to write a single nv item vs the whole NV dump file from 
cdmaWS

cdmaTerm.WriteNv(NvItems.NvItems.NV_SEC_CODE_I, Array[Byte]((0x30, 0x30, 0x30, 
0x30, 0x30, 0x30)))

cdmaTerm.WriteNv(906,"PPPassword")

WriteNv() in this case is cdmaTerm.WriteNv(int, string)

but there are four signatures:

    Public Shared Sub WriteNv(ByVal nv As Integer, writeData As String)
        Dim nv64 As Int64 = nv
        If (NvItems.NvItems.IsDefined(GetType(NvItems.NvItems), nv64)) Then
            Dim nvi As NvItems.NvItems = CType(nv, NvItems.NvItems)
            WriteNv(nvi, writeData)
        Else
            Q.Add(New Command(Qcdm.Cmd.DIAG_NV_WRITE_F, nv, GetNvWriteDataByteList(writeData).ToArray, "Write Nv " + nv.ToString))
            Q.Run()
        End If
    End Sub

    Public Shared Sub WriteNv(ByVal nv As Integer, writeData() As Byte)
        Dim nv64 As Int64 = nv
        If (NvItems.NvItems.IsDefined(GetType(NvItems.NvItems), nv64)) Then
            Dim nvi As NvItems.NvItems = CType(nv, NvItems.NvItems)
            WriteNv(nvi, writeData)
        Else
            Q.Add(New Command(Qcdm.Cmd.DIAG_NV_WRITE_F, nv, writeData, "Write Nv " + nv.ToString))
            Q.Run()
        End If
    End Sub

    Public Shared Sub WriteNv(ByVal nv As NvItems.NvItems, writeData As String)
        AddWriteNv(nv, writeData)
        Q.Run()
    End Sub

    Public Shared Sub WriteNv(ByVal nv As NvItems.NvItems, writeData() As Byte)
        AddWriteNv(nv, writeData)
        Q.Run()
    End Sub

so: one can do something like this:
cdmaTerm.WriteNv(906,"505050617373776F7264".ToHexBytes())

which is effectively using WriteNv(ByVal nv As Integer, writeData() As Byte)

also i believe there is a helper method(GetNvWriteDataByteList) for the 
cdamDevTerm ui which allows the(slightly hacky):

cdmaTerm.WriteNv(906,"0x505050617373776F7264")

Original comment by chromableedstudios on 19 Jan 2013 at 3:35

GoogleCodeExporter commented 8 years ago
NV Dump file is very very easy means we can use many tools to make it(I does 
not means making it very easy by programming in in c#), 

Its now a days a Standard to get it export or imports and understand ! i don't 
mean to say making Dump Software is very easy only few people have did it with 
100% documented way ! im sorry to hurt you i am already looking you projects 
for almost more then 3 month and appreciate every tiny to big this you have 
done.

Original comment by HetalDP@gmail.com on 20 Jan 2013 at 10:03

GoogleCodeExporter commented 8 years ago
Issue 6 has been merged into this issue.

Original comment by chromableedstudios on 2 Feb 2013 at 1:42

GoogleCodeExporter commented 8 years ago
I'm sorry if I've misunderstood you--but back to the 'issue' in question... Did 
either of these do what you were looking for? 

Original comment by chromableedstudios on 2 Feb 2013 at 1:44

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
r85 includes t4 text template for nv item read formatting--more changes to come

Original comment by chromableedstudios on 10 May 2013 at 1:26