Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - hervé

Pages: [1] 2 3 ... 7
µTasker general / Ip over USB
« on: December 04, 2012, 05:57:06 PM »

Do you plan to implement ndis support or to have IP over USB in the future ?


µTasker general / Re: uNetwork MAC-adress
« on: September 11, 2012, 09:22:28 AM »

Just look at the network_default structure, then find ucOurMAC.
I your MAC address is null it can be setup from the telnet menu.


µTasker general / Re: Firmware download
« on: July 26, 2012, 03:35:09 PM »
Hi Mark,

Sorry but now it works even with .BIN extension, I don't know what could have happened.

Now I've done the same to get the parameter area in a file....
But go problem to upload it back, as is not stored in the file system....


µTasker general / Re: Firmware download
« on: July 18, 2012, 03:32:40 PM »
Thanks Mark,

I test the download with that code :

Code: [Select]
static const CHAR gen_firm[]  = "µH00";                              // command to get back the firmware
static const CHAR gen_bmp[]  = "µH20";                               // command to generate a BMP from the present LCD display content

static const USER_FILE user_files[] = {
    {"favicon.ico", (unsigned char *)_favicon, sizeof(_favicon), MIME_ICON, FILE_VISIBLE},
    {"index.htm", (unsigned char *)start_page, sizeof(start_page), MIME_HTML, FILE_VISIBLE},
    {"LCD.BMP", (unsigned char *)gen_bmp, sizeof(gen_bmp), MIME_HTML, FILE_INVISIBLE},
    {"SOFT.BIN", (unsigned char *)gen_firm, sizeof(gen_firm), MIME_HTML, FILE_INVISIBLE},  //MIME_HTML car il faut générer le bin...
    {0}                                                                  // end of list
So I can use a web browser to get
Code: [Select]
        if (*ptrBuffer == '0') {
ulong TotalSize = (long)Image$$ER_IROM1$$Length +  (long)Image$$RW_IRAM1$$RW$$Length;
        int Idx = 0;
LENGTH_CHUNK_COUNT Chunk = (TxLength - 1);                   // the present chunk reference

            http_session->ucDynamicFlags |= GENERATING_DYNAMIC_BINARY;   // ensure the HTTP server knows that we are generating binary content
            if (Chunk > TotalSize/256) {                        // after generating all file stop
                return 0;

            *usLengthToSend = 256;                                       //  {21}
            if (Chunk == (TotalSize/256)) {                       // signal last chunk to ensure that no padding is added
                http_session->ucDynamicFlags |= LAST_DYNAMIC_CONTENT_DATA;
cPtr = cValue;
            while (Idx < 256) {                                            // {21}
                *cPtr++ = * (char *)((long)Image$$ER_IROM1$$Base + (Chunk*256) + Idx);
            *usLengthToSend = (cPtr - cValue);                           // length of code to insert*/
  return cValue; 

It works fine, even if I got problem to know exactly the end of the image due to compressed zone on memory. But that's it!

I think I could add ulCodeLength, usMagicNumber and usCRC at the beginning of the transmission, to form the header.

I have only a strange behaviour : when I try to get SOFT.BIN it does not work.... If I try with SOFT.BINN or SOFT.BINOOO, It works !!!!
Is there a detection of BIN file excepting from MIME_TYPE ?


µTasker general / Firmware download
« on: July 16, 2012, 01:46:59 PM »

Firmware can easily been update through FTP or HTTP, but is there a way to get the firmware back ?
Using a specific command I want to read back the firmware, but how can I do to have the correct format with MagicNumber and CRC as µTaskerConvert does.


µTasker general / Re: Thought for a debugging interface "uProbe"
« on: July 05, 2012, 08:58:11 AM »

I use similar debug tool, then through UDP packets I can check or change every data zone that the µP can access. I can also call function while the program is running, it is very useful for debbuging : in my case as the board controls fast movement and therefore I cant use breakpoint.
I use the µC/Probe like command to read/write byte,word, or long data at specific address.
I had to have a map file of the variables addresses except for some specific data for which I use a table to reference them : I will fetch the address of this table so I can have access to all variables that are referenced without having to know their absolute address.
For others I use the .Map file generated by the compiler.

On the PC I have a small application that can scan a list of variable in a cyclic manner.
On do this manually.

The code on the target is small and quite generic...

µTasker general / Re: LCD_WEB_INTERFACE
« on: April 18, 2012, 09:35:09 AM »
Hi Mark,

Thanks for informations,

In fact former, I tried to change LCD_PIXEL_COLOUR  and LCD_ON_COLOUR  but it did not work.

I found that there is a mismatch on my defines, because :

#define RGB(r,g,b)              (COLORREF)(((b << 4) & 0x0f00) | (g & 0x00f0) | (r >> 4))

But on fnInsertString() :
                        cValue[x + 2] = (unsigned char)(LCD_ON_COLOUR);
                        cValue[x + 1] = (unsigned char)(LCD_ON_COLOUR >> 8);
  •      = (unsigned char)(LCD_ON_COLOUR >> 16);

I change the definition of RGB and now it works fine.....

µTasker general / LCD_WEB_INTERFACE
« on: April 13, 2012, 03:56:54 PM »
Hi MArk,

  • 1/ I plan to use the Lcd.bmp view from the web browser.
    How can I change the color displayed (black/red) .
    in W_BITMAPINFO or W_BITMAPHEADER ? Do you have some documentation ?....
  • 2/ As I will always have the "favicon.ico" and "LCD.BMP" available, how can I manage to have the "static const USER_FILE user_files[]" use and then the one uploaded by ftp

    Is it possible or do I have to include those files in mines ?


« on: March 05, 2012, 05:53:27 PM »
Hi Mark,

I need to use two differents SPI FLASH memories, they have different block size

Even if I set SPI_FLASH_MULTIPLE_CHIPS, How can I manage to have different FILE_GRANULARITY for each memory ?


µTasker general / Re: Parameters Problem
« on: October 26, 2011, 07:14:42 AM »
Hi Marks,

Thanks for your reply.
I made the modifications and it works well.
It was a strange behaviour to lose the password...


µTasker general / Parameters Problem
« on: October 25, 2011, 11:25:43 AM »
Hi Mark,

Sorry but I get lost using Parameters (My board uses uTaskerV1.4)
I use this board with two programs for two customers.
I have two differents struct PARS .
My problem is :
When I update a board which is running one of the program with the other customer program, the telnet password get lost.
I check that the parameter file is read but with bad data.
I changed PARAMETER_BLOCK_VERSION to force PARAMETER_BLOCK_1 or PARAMETER_BLOCK_2 to be read, but both are bad in my case.
After fnRetrieveAllParameters() is called, parameters is copy to temp_pars->temp_parameters, then there is a check of temp_pars->temp_parameters.ucParVersion to verify the parameters match the current PARAMETER_BLOCK_VERSION.
As it is not the case temp_pars->temp_parameters is initialized with cParameters : but not parameters.
Code: [Select]
#define POINTER_USER_NAME parameters->cUserName
#define POINTER_USER_PASS parameters->cUserPass

I could not enter my password  :'(.

Is it normal that temp_pars->temp_parameters and parameters get different ?

I need to know If I correctly analysed my problem.


µTasker general / Re: TFTP Boot
« on: October 24, 2011, 07:54:53 AM »
Hi Martin,
Hi Mark,

Thanks for your comment, but in fact my purpose was not to use tftp instead of ftp or web update possibilities.

I was thinking to use UDP in the simplest possible way to update the firmware when the boot is running, just like there is a uTaskerSerialBoot making a uTaskerUDPBoot.
Using the bare boot, if my uploaded program doesn't run I have no way to update it again remotely (My boards are in the ceiling of a hospital, where I can't access as I want)
As tftp is an existing minimum protocol, I thought about it....
I am looking for a way to reprogram the microcontroller directly while receiving UDP frames ....A 'last resort' way.


µTasker general / TFTP Boot
« on: October 21, 2011, 02:20:22 PM »
Hi Mark,

Have you worked on a TFTP or other UDP way to boot ?
My board has neither RS232(except for debug but not available for customer) nor USB(except when module is plugged but not sytematics) but IP.

Now I used FTP transfert, but if there is a bad bin file uploaded, the board is down as no application can run.


NXPTM LPC2XXX and LPC17XX / Re: fnStartBreak
« on: October 20, 2011, 02:27:01 PM »
Hi Mark,

Thanks, it was no so difficult but I prefer not to write allready written code. Specially when doing the update.

The function works fine
I add as you said :
Code: [Select]
QUEUE_HANDLE fnGetQueueHandle(QUEUE_HANDLE DriverId) {
return (que_ids[DriverId - 1].qHandle);

I wanted to activate UART_BREAK_SUPPORT
but I got an error :  #136: struct "stTTYQue" has no field "ucDMA_mode"
Code: [Select]
extern void fnSciRxMsg(QUEUE_HANDLE channel)                             // {11}

NXPTM LPC2XXX and LPC17XX / fnStartBreak
« on: October 19, 2011, 03:05:35 PM »
Hi Mark,

I wanted to use fnStartBreak
Unfortunatly there is no line code for this function, only calls to it.
Can you publish fnStartBreak and fnStopBreak source code?

BTW: How can I retrieve the chanel with tty QUEUE_HANDLE only ?
on fnStartBreak() I know it but not on fnStopBreak()...

Pages: [1] 2 3 ... 7