Get your own customer support community

Recent activity

Subscribe to this feed
  • question

    p.alex replied on November 11, 2009 12:45 to the question "DS1206 - I/O Parameters" in Tibbo:

    p.alex
    The DS1206 and the EM1000 both use the same IC, the T1000. According to the EM1000 specs, current capability is 10mA - as it is a CMOS device, sink and source capabilities will be the same.
    BTW, in my projects I often use EM1000 I/O pins to drive status LEDs, no problem :)
  • problem

    p.alex replied on September 30, 2009 14:27 to the problem "EM1000 isnt so fast!!! Too slow" in Tibbo:

    p.alex
    Hello, Leandro!
    I had that same problem too.

    The sad fact is: the EM1000 doesn't run its code directly, all instructions have to decoded and executed by a Virtual Machine. This way, the system becomes more stable and controlable. The Vm takes care of all the details regarding sockets (sock), wireless (wln), serial ports (ser), etc, so programming becames much easier.

    The disadvantage is that simpler instructions may take 1 to 2 orders of magnitude more time to execute, ie, 10 to 100 times slower!!!

    More complex instructions, such as the ones regarding the sockets, take only a little more time to execute, no problem there.

    The PIC executes its code directly, so a typical instruction in a 8-bit PIC @8MHz takes only 0.5us! Much less than the 186us you reported...

    It's not a defect, it's a feature, with its pros and cons :-)

    Sugestion: why not use an EM1000 and a PIC? The EM1000 takes care of the high-level processing (eg: Ethernet), the PIC takes care of the simplest but fastest signal processing (eg: pulse counting). These two together make a very powerful system! Think about it.

    Good luck :-)

    PS: A few years ago I had to count pulses from a motor encoder, with a PIC16F628. Running at 1400rpm, the pulses arrived to the PIC at 26KHz!!! The PIC handled it perfectly, running @4MHz from its internal crystal and consuming only about 50% of the available time - in a word, perfect!
  • question

    p.alex asked a question in Tibbo on September 25, 2009 15:20:

    p.alex
    Remote Software Upload for EM1000/1202
    My problem is the following:

    I want to design stand-alone terminals, using an EM1000 (or EM1202) module.

    The terminals will be installed in remote locations, connecting to a central server using GPRS. For that purpose, each terminal has a GPRS module connected to one of the serial ports.

    I've been told that, when a GPRS connection is established, the terminal appears in the server's network, as if it were directly connected through Ethernet. Devices can then exchange data packets (either TCP or UDP) over IP.

    In those conditions, can I connect another PC to the local network and upgrade the terminal's software remotely?

    If not, I'll have to choose another platform, remote software upload is mandatory!!!
  • problem

    p.alex replied on September 07, 2009 09:10 to the problem "TIDE Linker ridiculous slow!!!" in Tibbo:

    p.alex
    Downloaded and installed version 2.20.2 beta:
    worked OK, total link time now is 1-2 seconds :-)
    (app size= 181KB, ram= 10KB, stack= 60B)

    Thank you for your help!
  • problem

    p.alex replied on September 01, 2009 11:31 to the problem "TIDE Linker ridiculous slow!!!" in Tibbo:

    p.alex
    Just one more hint:
    1- When TIDE is (slooowly) linking, I exit TIDE
    2- Then I press Ctrl-Alt-Del to enter Windows Task Manager
    3- In the process list, "tlink.exe" is still running, using all available CPU time! CPU usage peaks at 100%
    4- I click on "tlink.exe" and end the process: everything turns to normal! CPU usage returns to 5-10%

    Is this normal???
  • problem

    p.alex replied on September 01, 2009 11:22 to the problem "TIDE Linker ridiculous slow!!!" in Tibbo:

    p.alex
    Thanks, T-bone.
    1- I downloaded the new version of TIDE, 2.20.1 and installed it.
    2- Then I rebuild the whole project - compile times were normal, 1-2 seconds each file.
    3- Unfortunately, link time remains ULTRA-SLOW, about 4-5 minutes (and growing...). FYI, application size= 181KB, stack size= 60 bytes

    There must be a solution to this issue, today I had to fix a few bugs and each time I rebuilt I had to wait 5 minutes, instead of seconds!!! This is really annoying :-(
  • problem

    p.alex reported a problem in Tibbo on August 31, 2009 13:26:

    p.alex
    TIDE Linker ridiculous slow!!!
    My recent project includes several source files and lots of functions(!).

    - Recently, as more funcions were added, the link time grew from a few (5-10) seconds to a ridiculous >10 minutes!!! Application size= 160KB, stack size= 54 bytes (aprox values)
    - The solution was to replace funcion/sub calls with the code itself!!! The application file size grew a lot, but I managed to reduce the link time to 10-20 seconds.
    - Is this caused by the growing call stack? I noticed the link time grew enormously when the stack space grew over 50 bytes.
    - Last week, more functions were added (application file size= 171KB, stack size= 60 bytes) and the link time grew to 4 minutes - my CPU is a Pentium DualCore at 3 GHz, not a rather fast machine, IMHO.
    - Just for the record, the project I developed before this one, has application file size= 68KB, stack size= 48 bytes and takes 1 second to link!

    Now, what seems to be the problem with tlink.exe???
    (TIDE version is 2.9.21beta, Jul 22 2009)

    Hello, Tibbo people? Any answers?
  • problem

    p.alex replied on July 23, 2009 15:09 to the problem "TIDE - INTERNAL COMPILER ERROR" in Tibbo:

    p.alex
    Hi Ezuk,

    Thanks for the bug fix - it worked, so it seems. I uncommented the error causing lines and no error happened :)
    However, you still haven't answered my questions about TIDE's limits - number of variables, number/size of types, sub/functions call depth, etc :(
    I think that could be helpful - TIDE has such limits, hasn't it??? Or TIDE's perfomance is just limited by available RAM?

    Thanks for the bugfix. Just one issue - the long linking times still remain, current version of our application takes 20 seconds to link. TIDE reports:

    -> Application file size: 157824 bytes
    -> Required variable memory (RAM) size: 10114 bytes
    -> Stack size: 48 bytes

    Is this time normal? Are executing too many nested sub/function calls?

    *** Just among us, what was causing the "Internal Compiler Error"? I promise not to tell anyone... ***

    Thanks.
  • problem

    p.alex replied on July 21, 2009 11:14 to the problem "TIDE - INTERNAL COMPILER ERROR" in Tibbo:

    p.alex
    One more clue:

    My application calls this function once only. So, I commented the call and I copied the whole function code to the place where the call took place.
    The result? It worked Ok - the application still has its own bugs, but TIDE compiled and linked everything perfectly.

    Can this help?

    Just a few more questions:

    1- Is there a limit to the number of Functions, Subs, Types (structures), Variables, Arrays, Constants, etc, one can declare in a whole project - all modules and include files included? TIDE's manual doesn't mention these.

    2- Is there a limit to the number of variables a Type can contain? idem

    3- Is there a limit to the number of nested calls the program can execute? idem

    4- In this same application we had a problem when the application grew - more or less at application size= 100KBytes and Stack size > 50 bytes - the linking time grew to more than 10 MINUTES!!! We had to duplicate code to avoid more levels of function/sub calls - a terrible way of coding!!! The linking time now is 20 seconds - not very good, but a lot better than 10 minutes! Smaller applications I developped link in almost no time - 1, 2 seconds maybe.

    That's all.
  • problem

    p.alex replied on July 21, 2009 09:57 to the problem "TIDE - INTERNAL COMPILER ERROR" in Tibbo:

    p.alex
    Dear Ezuk,
    Here's the offending portion of code, I marked the line with "-->"
    (of course I remove that mark before compiling!)

    ...

    Function OpenSky2_StrToCounters( CountersStr as string(sizeof(TOpenSky2_Counters)), byref CountData as TOpenSky2_Counters ) as ok_ng
    dim i as byte

    if len(CountersStr) <> sizeof(TOpenSky2_Counters) then
    OpenSky2_StrToCounters = NG
    exit function
    end if
    CountData.CardCap = asc4(left(CountersStr, 4))
    CountData.CardIss = asc4(mid(CountersStr, 5,4))
    CountData.CardLoad = asc4(mid(CountersStr, 9,4))
    CountData.CardRej = asc4(mid(CountersStr, 13,4))
    CountData.CardRet = asc4(mid(CountersStr, 17,4))
    CountData.Receipts = asc4(mid(CountersStr, 21,4))
    CountData.VouchCnt = asc4(mid(CountersStr, 25,4))
    CountData.VouchVal = asc4(mid(CountersStr, 29,4))
    for i= 0 to BILL_TYPES-1
    --> CountData.BillStacker(1)= asc2(mid(CountersStr, i*2+33, 2))
    next i
    OpenSky2_StrToCounters = OK
    end function

    ...

    Notes:
    * when compiling, the compiler crashes with the message "Internal Compiler Error"
    * no linking took place
    * when I comment the marked line, everything compiles and links perfectly
    * FYI, this function extracts data from a string into a structure - a simple task
    * asc4() is similar to asc() but works with a 4-char string - fully tested
    * sizeof() seems to be an undocumented Taiko function - we discovered it in the latest version of TIDE, works Ok
    * just to be on the safe side, we replaced sizeof(...) with 42 - the actual size of the structure - same result
    * TOpenSky2_Counters is a structure, as follows:

    type TOpenSky2_Counters
    BillStacker(BILL_TYPES+1) as word
    CardIss as dword
    CardRet as dword
    CardCap as dword
    CardRej as dword
    CardLoad as dword
    Receipts as dword
    VouchCnt as dword
    VouchVal as dword
    end type

    * BILL_TYPES equals 4, I replaced BILL_TYPES+1 with 5, same result.
    * I tried moving the offending line to the top of the function, same result
    * A similar piece of code, placed in another module, produces no error.

    Of course this is a very small piece of a large project, envolving a few modules and libraries currently, the size of the compiled binary is 154880 bytes - pretty good.

    See what you can do with these clues.
    Thank you.
  • problem

    p.alex reported a problem in Tibbo on July 20, 2009 17:04:

    p.alex
    TIDE - INTERNAL COMPILER ERROR
    *** THIS IS SERIOUS ***
    My most recent project has grown to more than 150KB. today, after a few changes, I pressed F7 to rebuild and TIDE reported: "Internal Compiler Error". Just that.

    I know that someone will suggest me to send the source files to Tibbo, so someone can check what may be causing the problem...however, like TIBBO, I too want to protect my intelectual property! Needless to say, my source files won't leave my computer.
    I think it would be much better if the compiler could identify the problem, giving a proper error message - the current one is useless, ok, it warns us that something is not right: what???

    And so my project has come to a sudden halt...

    I'll try to reload my previous files, so I can recompile, then I'll try to check what caused the problem...
    It won't be easy, and TIDE's error message doesn't help: "Guess what: Internal Compiler Error! eh eh eh"

    Sincerely, I'm very worried.
  • question

    p.alex asked a question in Tibbo on April 30, 2009 11:50:

    p.alex
    Future plans for an USB port on the EM1000?
    Is there any plans to include an USB interface in the EM1000?
    (USB support is one of the few things missing in the EM1000)
  • idea

    p.alex replied on April 30, 2009 11:44 to the idea "New Tibbo BASIC Projects" in Tibbo:

    p.alex
    Very nice indeed :)
    And the fact you used 'pre-cooked' libraries is very interesting, it means we can make it too. i'll give it a look, thanks!

    I think other users will be interested in a quick and dirty browser interface, for easy device setup and configuration. Like someone said, the browser is the UI of the future!
  • p.alex started following the question "SD or MMC card?" in Tibbo.

  • question

    p.alex replied on January 07, 2009 14:35 to the question "Loading/defining EEPROM when uploading application" in Tibbo:

    p.alex
    Hello! I had that problem before. The solution was to hard-code the parameters into the application itself - using a Resource Text File.

    I inserted a 10-char string as a header for the parameters data. Every time I change version, I change the header to current date+time "YYMMDDhhmm".
    When the application runs, it checks if it the parameters in EEPROM need updating or not: if the string in EEPROM is different, write the new string and file parameters into EEPROM, otherwise just read them.

    It worked for me :)
  • problem

    p.alex reported a problem in Tibbo on January 07, 2009 12:12:

    p.alex
    Line/Row numbers in new TIDE text editor don't update correctly
    New version (2.9.9a) of TIDE is OK, but there's a problem: in the text editor, when changing Line and/or Row, the numbers in the right lower corner don't update! I have to switch to another windows application and back to TIDE, then the numbers are correct. It's a little annoying :-(
    (or is it a problem with my own PC/Windows/TIDE setup?)
  • question

    p.alex asked a question in Tibbo on September 03, 2008 11:34:

    p.alex
    How to Disassociate from a wireless network?
    I want to measure the signal strength reaching my device antenna, once every minute (for example). To do so, I must:

    - disassociate from the network
    - (re)scan
    - (re)associate
    - display the result (the RSSI value)
    Here's the code:

    for n= 1 to 10
    res= wln.disassociate
    while wln.task <> PL_WLN_TASK_IDLE
    wend
    if wln.associationstate= PL_WLN_NOT_ASSOCIATED then
    exit for
    end if
    next n

    for n= 1 to 3
    res= wln.scan(WLAN_NAME)
    if res= ACCEPTED then
    exit for
    end if
    next n

    if res= ACCEPTED then
    while wln.task <> PL_WLN_TASK_IDLE
    wend
    wln.associate
    while wln.task <> PL_WLN_TASK_IDLE
    wend
    lcd.print("RSSI= " + right("000" + str(wln.scanresultrssi), 3), 0, 24)
    else
    lcd.print("Scan Error", 0, 24)
    end if

    The program tries the disassociation 10 times, no result!
    Because of this, no scan is possible :-(

    Meanwhile, the program keeps receiving UDP packets from the wireless network, no problem!

    I posted this to TIbbo support service, I'll post the answer(s).

    Meanwhile, has anyone disassociated (successfully) from a wireless network?
    Help required, please! Thanks in advance :-)
  • question

    p.alex asked a question in Tibbo on July 24, 2008 15:36:

    p.alex
    DS Manager: what is command "H"?
    When running the Device Manager application, it sends various commands.
    What is the meaning/syntax/reply of the "H" command?
    (all others are documented, this one isn't)
  • question

    p.alex replied on July 24, 2008 08:54 to the question "Using the Flash memory on EM1000" in Tibbo:

    p.alex
    Hi, everybody!
    Here's a bonus to you: the FD object help file draft!
    (not complete, but a very good advance):
    Get it at http://robalo.net/files/fd_help.htm

    Now my project is moving again... :)
  • question

    p.alex replied on July 22, 2008 12:05 to the question "Using the Flash memory on EM1000" in Tibbo:

    p.alex
    Hi, everybody!
    The support team sent me an HTML file with the FD object help!
    (not complete but almost... :)

    Why don't they post it in the Tibbo Knowledge Base?
    It sure would save us a lot of time and work!