is it possible to mask out interrupts to limit the number of interrupts
that makes it wake up?
just for debugging

On Fri, 21 Dec 2018, 21:02 <canfestival-devel@lists.sourceforge.net wrote:

> Hi guys,
>
> I'm getting crazy on why I'm not able to go in sleep using the canFestival
> stack.
>
> Using the ISR(PCINT1_vect) sometime if I remove the power supply while the
> canbus is working the uC goes in a strange situation.
>
> Not in sleep but not in run as well. Anyway the power consumption is like
> in run.
>
> Basically, I'm using a pin to debug the situation
>     DDRD |= (1<<PD2);      // set PD2 as output DEBUG
>     PORTD &= ~(1<<PD2);       // set LOW state DEBUG
> but sometime happen that the uC try to goes in sleep but suddenly it comes
> back in "run"
>
>
> ----Messaggio originale----
> Da: canfestival-devel@lists.sourceforge.net
> Data: 20-dic-2018 17.10
> A: <canfestival-devel@lists.sourceforge.net>
> Ogg: [Canfestival-devel] R: Re: R: R: R: R: R: Re: R: Re: R: Re: R: Re: R:
> R: R: R: R: R: R: R: R: Re: R: Re: R: Re: CanFestival on ATmega64M1 in
> Arduino IDE
>
> >>> can_disable was designed to work with at90can seriers so might not
> work with your uC
> looking the datasheet of ATmega64M1 the can register is the same. By the
> way the can_drv.h is rewritten for my uC.
>
> >>> Before sleep I think it is best to set the node in stop mode. It just
> disable processing and making of almost every type of canopen message, and
> it will also tell the network that is has stopped.
> Already tried to put the node in stop mode. It doesn't work. What seems to
> happen is that the uC seems to miss the interrupt because it has a lower
> priority with can interrupts.
>
> Now I'm doing other tests to solve this issue.
>
> thanks anyway
>
> ----Messaggio originale----
> Da: canfestival-devel@lists.sourceforge.net
> Data: 20-dic-2018 16.54
> A: <canfestival-devel@lists.sourceforge.net>
> Ogg: Re: [Canfestival-devel] R: R: R: R: R: Re: R: Re: R: Re: R: Re: R: R:
> R: R: R: R: R: R: R: Re: R: Re: R: Re: CanFestival on ATmega64M1 in Arduino
> IDE
>
> first off
> can_disable was designed to work with at90can seriers so might not work
> with your uC
> Other than the timer, I'm not sure what canfestival can do to wake the
> controller up, but i have zero experience with sleep, so keep that in mind.
>
> Before sleep I think it is best to set the node in stop mode. It just
> disable processing and making of almost every type of canopen message, and
> it will also tell the network that is has stopped.
>
> On start, what you have done looks good to me.
>
> best regards
> Lars
>
> On Wed, 19 Dec 2018, 19:41 < canfestival-devel@lists.sourceforge.net
> <http://invalidurl.gif> wrote:
>
>> Basically my question is what to do before to go in sleep mode and what
>> to do just after the wake up.
>>
>> In the main I do:
>>
>>   switch(baudrate)   // 0=100KBaud, 1=125KBaud, 2=200KBaud, 3=250KBaud,
>> 4=500KBaud, 5=1000KBaud
>>   {
>>     case 0: canInit(100); break;
>>     case 1: canInit(125); break;
>>     case 2: canInit(200); break;
>>     case 3: canInit(250); break;
>>     case 4: canInit(500); break;
>>     case 5: canInit(1000); break;
>>   }
>>   initTimer();                              // Start timer for the
>> CANopen stack
>>   setNodeId(&ObjDict_Data, nodeID);
>>   setState(&ObjDict_Data, Pre_operational);      // Init the state
>>
>> so, shall I have to do something before the sleep?
>>
>> and after at the wake up?
>>
>> Thanks in advance to anyone spends time in this.
>>
>>
>>
>> ----Messaggio originale----
>> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>> Data: 19-dic-2018 18.52
>> A: < canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>>
>> Ogg: [Canfestival-devel] R: R: R: R: Re: R: Re: R: Re: R: Re: R: R: R: R:
>> R: R: R: R: R: Re: R: Re: R: Re: CanFestival on ATmega64M1 in Arduino IDE
>>
>>
>> Another question:
>>
>> I've implemented the canFestival on a node which goes in sleep mode
>> (POWER_DOWN) when there's no power supply.
>>
>> This device has a battery to keep the power supply on in OR with the main
>> one.
>>
>> Of course when the battery is on I need to put everything in deep sleep
>> mode with a consumption around 1.5uA @3V.
>>
>> The issue is that sometimes, if I receive something on the bus, the node
>> suddendly wakes up from the sleep.
>>
>> Therefore I need to avoid this bad situation in order to avoid the
>> battery discharge.
>>
>> How can I disable the canbus just before to go in sleep?
>>
>> Basically the sleep mode control is made in pin_change interrupt
>> function.
>>
>> ISR(PCINT1_vect)       // interrupt service routine called when the
>> sensor is battery powered or not (LOWER PRIORITY THAN PCINT0_vect)
>> {
>>   sleepMode = !digitalRead(V_supply);
>>
>>   if ( sleepMode )
>>   {
>>     Can_disable(); // doesn't work
>>
>>     #ifdef SERIAL_DEBUG
>>       Serial.print('\0');   // print the NULL character to be sure that
>> the TX port pin (PB0) is LOW
>>     #endif
>>     cli();
>>     stopADC();
>>     sleep();
>>   }
>>   else
>>     turnedOn = true;
>> }
>>
>>
>> I'm quite sure that there is something in the canFestival framework which
>> put the uC ON if something is received just before to go in sleep.
>>
>> Any suggestion?
>>
>> ----Messaggio originale----
>> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>> Data: 18-dic-2018 10.24
>> A: < canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>>
>> Ogg: [Canfestival-devel] R: R: R: Re: R: Re: R: Re: R: Re: R: R: R: R: R:
>> R: R: R: R: Re: R: Re: R: Re: CanFestival on ATmega64M1 in Arduino IDE
>>
>> Sorry guys my fault.
>>
>> The default nodeID is 0x01.
>>
>> Everything works correctly
>>
>> Thanks and sorry
>>
>>
>> ----Messaggio originale----
>> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>> Data: 18-dic-2018 10.17
>> A: < canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>>
>> Ogg: [Canfestival-devel] R: R: Re: R: Re: R: Re: R: Re: R: R: R: R: R: R:
>> R: R: R: Re: R: Re: R: Re: CanFestival on ATmega64M1 in Arduino IDE
>>
>> I've found the issue.
>>
>> It relative on how the objectdictionary .c file is created.
>>
>> If I leave the file as it is
>>
>> /* index 0x1200 :   Server SDO Parameter. */
>>                     UNS8 ObjDict_highestSubIndex_obj1200 = 2; /* number
>> of subindex - 1*/
>>                     UNS32
>> ObjDict_obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x600;    /* 1536 */
>>
>> The canbus node doesn't reply to any SDO request.
>>
>> If I change it like this
>>
>> /* index 0x1200 :   Server SDO Parameter. */
>>                     UNS8 ObjDict_highestSubIndex_obj1200 = 2; /* number
>> of subindex - 1*/
>>                     UNS32
>> ObjDict_obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x605;    /* 1536 */
>>
>> where 0x05 is the nodeID
>>
>> I get the right reply from my node
>>
>> Is this a bug on the object dictionary building procedure in the python
>> script?
>>
>> Waiting a kind reply
>>
>> Thanks
>>
>> ----Messaggio originale----
>> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>> Data: 17-dic-2018 20.16
>> A: < canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>>
>> Ogg: [Canfestival-devel] R: Re: R: Re: R: Re: R: Re: R: R: R: R: R: R: R:
>> R: R: Re: R: Re: R: Re: CanFestival on ATmega64M1 in Arduino IDE
>>
>> I did some other tests.
>>
>> The issue seems inside the canDispatch function in states.c.
>>
>> I'm using a pin as debug in order to understand if the code in some point
>> is executed or not.
>>
>> basically this is done in the canDispatch:
>>
>> ..............
>>         case SDOrx:
>>             if (d->CurrentCommunicationState.csSDO)
>>                         {
>>                     DDRB |= (1<<PB4);      // set PB4 as output
>>                     PORTB |= (1<<PB4);     // set PB4 HIGH for DEBUG
>>                 proceedSDO(d,m);
>>                         }
>>             break;
>>         case NODE_GUARD:
>>             if (d->CurrentCommunicationState.csLifeGuard)
>>                 proceedNODE_GUARD(d,m);
>>             break;
>>         case NMT:
>>             if (*(d->iam_a_slave))
>>                         {
>>                     DDRB |= (1<<PB4);      // set PB4 as output
>>                     PORTB |= (1<<PB4);     // set PB4 HIGH for DEBUG
>>                 proceedNMTstateChange(d,m);
>>                         }
>>             break;
>> ............
>>
>> I can see that at the beginning, when I change the state from
>> initialization to oeprational the case NMT is executed correctly.
>> In fact I see the right PDO coming down to the bus.
>>
>> But if I send a message on the bus, the case SDOrx is not executed, then
>> neither the proceedSDO(d,m) function
>>
>> I'll investigate well tomorrow yet.
>>
>>
>> ----Messaggio originale----
>> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>> Data: 17-dic-2018 0.00
>> A: < canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>>
>> Ogg: Re: [Canfestival-devel] R: Re: R: Re: R: Re: R: R: R: R: R: R: R: R:
>> R: Re: R: Re: R: Re: CanFestival on ATmega64M1 in Arduino IDE
>>
>> symboles.c: dont know if it does any damage, but it does nothing good.
>> it's for Linux kernel module usage you should not include it in Arduino
>> build
>>
>> On Sat, 15 Dec 2018, 17:33 < canfestival-devel@lists.sourceforge.net
>> <http://invalidurl.gif> wrote:
>>
>>> Could this issue during compilation
>>>
>>> /home/alessio/Arduino/libraries/CanFestival_ATmega64M1_Arduino/symbols.c:56:1:
>>> warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [enabled
>>> by default]
>>> /home/alessio/Arduino/libraries/CanFestival_ATmega64M1_Arduino/symbols.c:56:1:
>>> warning: parameter names (without types) in function declaration [enabled
>>> by default]
>>> /home/alessio/Arduino/libraries/CanFestival_ATmega64M1_Arduino/symbols.c:57:1:
>>> warning: data definition has no type or storage class [enabled by default]
>>>  EXPORT_SYMBOL (_setODentry);
>>>  ^
>>>
>>> be an issue regarding the missing replies on the BUS.
>>>
>>> This kind of warning message is repeated for many symbols:
>>>
>>> honestly I don't think so but for completeness I give you this
>>> information
>>>
>>> Thanks
>>>
>>> ----Messaggio originale----
>>> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> Data: 13-dic-2018 21.02
>>> A: < canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>>
>>> Ogg: Re: [Canfestival-devel] R: Re: R: Re: R: R: R: R: R: R: R: R: R:
>>> Re: R: Re: R: Re: CanFestival on ATmega64M1 in Arduino IDE
>>>
>>> Do the can messages look okay in the canDispatch function (states.c)
>>> On Thu, Dec 13, 2018 at 7:30 PM <
>>> canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>> wrote:
>>> >
>>> > That's the strange thing.
>>> >
>>> > The node doesn't react to any message sent
>>> >
>>> > ----Messaggio originale----
>>> > Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > Data: 13-dic-2018 18.04
>>> > A: < canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>>
>>> > Ogg: Re: [Canfestival-devel] R: Re: R: R: R: R: R: R: R: R: R: Re: R:
>>> Re: R: Re: CanFestival on ATmega64M1 in Arduino IDE
>>> >
>>> > Strange,
>>> > You should get a reply on "all" sdo messages
>>> > Does the node react to any messages you send to the node?
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > On Thu, Dec 13, 2018 at 10:57 AM
>>> > < canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>>
>>> wrote:
>>> > >
>>> > > PDOs every 100ms are running correctly.
>>> > >
>>> > > The issue remaining is the response from the node.
>>> > >
>>> > > For instance if I wish to change the event cycle for the PDO from
>>> 100ms to 70 ms I need to write on the bus:
>>> > >
>>> > > nodeID  2Bh 00h 18h 05h 46h 00h 00h 00h
>>> > >
>>> > >  where nodeID is 600+ID and in my case is 601
>>> > >
>>> > > Normally when you send something on the canbus you get a response
>>> from the node that depends if the object dictionary element is implemented
>>> in the dictionary.
>>> > >
>>> > > In my case I don't get any reply from the node.
>>> > >
>>> > > I don't know why
>>> > >
>>> > >
>>> > > ----Messaggio originale----
>>> > > Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > > Data: 13-dic-2018 10.07
>>> > > A: < canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>>
>>>
>>> > > Ogg: Re: [Canfestival-devel] R: R: R: R: R: R: R: R: R: Re: R: Re:
>>> R: Re: CanFestival on ATmega64M1 in Arduino IDE
>>> > >
>>> > > so, everything is up and running?
>>> > >
>>> > > On Wed, 12 Dec 2018, 16:17 < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif> wrote:
>>> > >>
>>> > >> Ok,
>>> > >>
>>> > >> solved with
>>> > >>
>>> > >>   // CANIE1 = 0x7F;    // Enable the interrupts of all MObs (0..14)
>>> > >>   // CANIE2 = 0xFF;
>>> > >>   CANIE2 = 0x3F;    // Enable the interrupts of all MObs (0..5)
>>> edited for ATmegaxxM1
>>> > >>
>>> > >> in the can_AVR.c file
>>> > >>
>>> > >> ----Messaggio originale----
>>> > >> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> Data: 12-dic-2018 11.49
>>> > >> A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> Ogg: [Canfestival-devel] R: R: R: R: R: R: R: R: Re: R: Re: R: Re:
>>> CanFestival on ATmega64M1 in Arduino IDE
>>> > >>
>>> > >>
>>> > >> the Atmega64M1 has only 6 Mobs instead of 15 of AT90CAN128.
>>> > >>
>>> > >> So I need to change some #define in the can_drv.h file
>>> > >>
>>> > >> // #define NB_MOB       15
>>> > >> #define NB_MOB       6 // edited for ATmegaxxM1
>>> > >> #define NB_DATA_MAX  8
>>> > >> #define LAST_MOB_NB  (NB_MOB-1)
>>> > >> #define NO_MOB       0xFF
>>> > >>     // ----------
>>> > >> //typedef enum {
>>> > >> //        MOB_0,  MOB_1, MOB_2,  MOB_3,  MOB_4,  MOB_5,  MOB_6,
>>> MOB_7,
>>> > >> //        MOB_8,  MOB_9, MOB_10, MOB_11, MOB_12, MOB_13,
>>> MOB_14        } can_mob_t;
>>> > >> typedef enum {MOB_0,  MOB_1, MOB_2,  MOB_3,  MOB_4,  MOB_5}
>>> can_mob_t;// edited for ATmegaxxM1
>>> > >>
>>> > >>
>>> > >>
>>> > >> ----Messaggio originale----
>>> > >> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> Data: 12-dic-2018 11.33
>>> > >> A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> Ogg: [Canfestival-devel] R: R: R: R: R: R: R: Re: R: Re: R: Re:
>>> CanFestival on ATmega64M1 in Arduino IDE
>>> > >>
>>> > >> Sorry my mistake,
>>> > >>
>>> > >> the number of PDO sent after the operational mode is, of course,
>>> equal to NB_TX_MOB = (NB_MOB - NB_RX_MOB)
>>> > >>
>>> > >> ----Messaggio originale----
>>> > >> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> Data: 12-dic-2018 10.58
>>> > >> A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> Ogg: [Canfestival-devel] R: R: R: R: R: R: Re: R: Re: R: Re:
>>> CanFestival on ATmega64M1 in Arduino IDE
>>> > >>
>>> > >> Hi,
>>> > >> after some proofs I found another issue on the ATmega64M1.
>>> > >>
>>> > >> Basically and actually I'm able to receive only some PDOs at the
>>> beginning (after the operational mode).
>>> > >> The number of PDOs receive is based on the NB_RX_MOB define.
>>> > >> So if I define NB_RX_MOB = 3 I receive only 3 PDO after the
>>> operational mode, if I define it = 6 I receive only 6 PDOs.
>>> > >>
>>> > >> After that the canbus goes in a sort of stuck mode and I need a
>>> master reset to resume the node.
>>> > >>
>>> > >> The timer1 works properly just adding these instructions:
>>> > >>
>>> > >>   /* Added by me for Arduino compliance */
>>> > >>   TCCR1A = 0;
>>> > >>   TCCR1B = 0;
>>> > >>   TIMSK1 = 0;
>>> > >>   /**************************************/
>>> > >>
>>> > >> in the timer_AVR.c
>>> > >>
>>> > >> Any suggestion?
>>> > >>
>>> > >> Thanks in advance
>>> > >>
>>> > >> ----Messaggio originale----
>>> > >> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> Data: 11-dic-2018 16.01
>>> > >> A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> Ogg: [Canfestival-devel] R: R: R: R: R: Re: R: Re: R: Re:
>>> CanFestival on ATmega64M1 in Arduino IDE
>>> > >>
>>> > >> I've found the issue and it was relative to the TCCR1A value.
>>> > >>
>>> > >> Arduino touches this timer at the beginning in the wiring.c file.
>>> > >>
>>> > >> Then actually the timer works but I can receive only five PDO after
>>> the startup.
>>> > >>
>>> > >> After that the CANBUS seems stuck and I don't receive PDO anymore.
>>> > >>
>>> > >> The only way is to make a master reset in order to receive other 5
>>> PDO.
>>> > >>
>>> > >> ----Messaggio originale----
>>> > >> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> Data: 11-dic-2018 12.21
>>> > >> A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> Ogg: [Canfestival-devel] R: R: R: R: Re: R: Re: R: Re: CanFestival
>>> on ATmega64M1 in Arduino IDE
>>> > >>
>>> > >> hello,
>>> > >> I found a strange bug with setting 16bit registers.
>>> > >>
>>> > >> I tried to set 16 bit register OCR1B, but only the lower 8 bits
>>> were applied.
>>> > >>
>>> > >> The datasheet says that for OCR1B you have to first set the upper
>>> byte as documented, and afterwards commit with the lower byte.
>>> > >> this however does not work for me.
>>> > >>
>>> > >>
>>> > >> ----Messaggio originale----
>>> > >> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> Data: 11-dic-2018 11.30
>>> > >> A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> Ogg: [Canfestival-devel] R: R: R: Re: R: Re: R: Re: CanFestival on
>>> ATmega64M1 in Arduino IDE
>>> > >>
>>> > >> Hi,
>>> > >> something strange compare if I try to debug the TCNT1 and OCR1B
>>> values.
>>> > >>
>>> > >> Why I get only values from 0 to 255?
>>> > >>
>>> > >> The timer1 is a 16bit timer
>>> > >>
>>> > >> ???????????????????
>>> > >>
>>> > >> ----Messaggio originale----
>>> > >> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> Data: 11-dic-2018 10.04
>>> > >> A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> Ogg: [Canfestival-devel] R: R: Re: R: Re: R: Re: CanFestival on
>>> ATmega64M1 in Arduino IDE
>>> > >>
>>> > >> Hi,
>>> > >>
>>> > >> probably the issue is that for the ATmega64M1 I have to use the
>>> TIMER1 in CTC mode up to OCR1A as top value?
>>> > >>
>>> > >> ----Messaggio originale----
>>> > >> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> Data: 11-dic-2018 9.12
>>> > >> A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> Ogg: [Canfestival-devel] R: Re: R: Re: R: Re: CanFestival on
>>> ATmega64M1 in Arduino IDE
>>> > >>
>>> > >> I'm using 8MHz external clock.
>>> > >>
>>> > >> Timer should be 8us per tick since that I'm using the clkio/64
>>> prescaler.
>>> > >>
>>> > >> So the timing frequency is, or I suppose, 125Khz --> 8us.
>>> > >>
>>> > >> // The timer is incrementing every 8 us.
>>> > >> #define MS_TO_TIMEVAL(ms) ((ms) * 125)
>>> > >> #define US_TO_TIMEVAL(us) ((us)>>3)
>>> > >>
>>> > >> This definition seems to be correct because each timer tick = 8us.
>>> > >>
>>> > >> In order to have us we have to divide the tick count value by 8
>>> (>>3) instead to have ms we have to multiply by 125.
>>> > >>
>>> > >> It seems exact.
>>> > >>
>>> > >> Why you told me that this define are incorrect?
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >> ----Messaggio originale----
>>> > >> Da: canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> Data: 10-dic-2018 20.58
>>> > >> A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> Ogg: Re: [Canfestival-devel] R: Re: R: Re: CanFestival on
>>> ATmega64M1 in Arduino IDE
>>> > >>
>>> > >> This I should be able to help you with
>>> > >> in timerscfg.h there are two macros that need to be correct
>>> > >> MS_TO_TIMEVAL and US_TO_TIMEVAL
>>> > >>
>>> > >> They are used to convert ms and us to timer ticks (TIMEVAL)
>>> > >>
>>> > >> What clock frequency are you using?
>>> > >> On Mon, Dec 10, 2018 at 3:13 PM <
>>> canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>> wrote:
>>> > >> >
>>> > >> > Hi,
>>> > >> >
>>> > >> > the issue seems relative to the timer event.
>>> > >> >
>>> > >> > If I program a transmist PDO every 100ms I can see at the
>>> beginning some PDO every 1 or 2 ms.
>>> > >> >
>>> > >> > After that the CANNUS stacks and I cannot receive PDOs anymore up
>>> to a new uC master reset, so a new canbus initialization process.
>>> > >> >
>>> > >> > Basically the  timer_AVR.c file is exactly equal to the original
>>> one (for the at90can128) except in the initTimer function where I use the
>>> timer1 because the ATmega64M1 doesn't have the timer3
>>> > >> >
>>> > >> > void initTimer(void)
>>> > >> >
>>> /******************************************************************************
>>>
>>> > >> > Initializes the timer, turn on the interrupt and put the
>>> interrupt time to zero
>>> > >> > INPUT    void
>>> > >> > OUTPUT    void
>>> > >> >
>>> ******************************************************************************/
>>>
>>> > >> > {
>>> > >> >   TimerAlarm = 0;            // Set it back to the zero
>>> > >> >
>>> > >> >   // Set timer 1 for CANopen operation tick 8us max, time is
>>> 524ms
>>> > >> >   TCCR1B = (1 << CS11) | (1 << CS10);   // Timer 1 normal, mit
>>> CK/64
>>> > >> >   TIMSK1 = 1 << OCIE1B;                 // Enable the interrupt
>>> > >> > }
>>> > >> >
>>> > >> > Any comment/suggestion?
>>> > >> >
>>> > >> > Thanks in advance
>>> > >> >
>>> > >> > ----Messaggio originale----
>>> > >> > Da: canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>
>>> > >> > Data: 6-dic-2018 21.04
>>> > >> > A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> > Ogg: Re: [Canfestival-devel] R: Re: CanFestival on ATmega64M1 in
>>> Arduino IDE
>>> > >> >
>>> > >> > Hi,
>>> > >> > I do not have access to a ATmega64M1, so there is no way AFIK for
>>> me
>>> > >> > to run and debug your code.
>>> > >> > Also near zero experience with Arduino, lots of experience with
>>> > >> > at90can128 though.
>>> > >> >
>>> > >> > I could always look at your code, but without knowing the general
>>> > >> > place where the problem is, it is close to impossible... for me
>>> :)
>>> > >> >
>>> > >> > When you say that only thing that is working is THE nmt message.
>>> > >> > Is there only one nmt message?
>>> > >> > What nmt state is the node in?
>>> > >> > Have you tried to set it to operational state?
>>> > >> >
>>> > >> > Best Regards
>>> > >> > Lars
>>> > >> > On Tue, Dec 4, 2018 at 5:26 PM <
>>> canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>> wrote:
>>> > >> > >
>>> > >> > > The only thing which is working is the NMT message at the
>>> startup.
>>> > >> > >
>>> > >> > > No SDO response and I cannot able to make debug now.
>>> > >> > >
>>> > >> > > Can I attach the whole directory project which stay in the
>>> Arduino/libraries folder to give you the whole files package?
>>> > >> > >
>>> > >> > > Thanks
>>> > >> > >
>>> > >> > > Bye
>>> > >> > >
>>> > >> > > Alessio
>>> > >> > >
>>> > >> > > ----Messaggio originale----
>>> > >> > > Da: canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>
>>> > >> > > Data: 3-dic-2018 17.52
>>> > >> > > A: < canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>>
>>> > >> > > Ogg: Re: [Canfestival-devel] CanFestival on ATmega64M1 in
>>> Arduino IDE
>>> > >> > >
>>> > >> > > Hi,
>>> > >> > > Does anything work?
>>> > >> > > Like heartbeat or sdo?
>>> > >> > >
>>> > >> > > could you check if the code reaches buildPDO?
>>> > >> > >
>>> > >> > > Best Regards
>>> > >> > > Lars
>>> > >> > >
>>> > >> > > On Sat, Dec 1, 2018 at 6:02 PM <
>>> canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>> wrote:
>>> > >> > > >
>>> > >> > > >
>>> > >> > > > Dear all,
>>> > >> > > >
>>> > >> > > > first of all many thanks to the developers and people in
>>> general that spent time on this project making it an affordable CanOpen
>>> platform for everyone.
>>> > >> > > >
>>> > >> > > > I'm new on this mailing list and here to explain my problem.
>>> > >> > > >
>>> > >> > > > I'm an electronic engineer and a researcher of University of
>>> Brescia (Italy) and I'm trying to make the canFestival working on Arduino
>>> using the Atmega64M1 uC.
>>> > >> > > >
>>> > >> > > > I know that there is the CanFestivino project that is the
>>> CanFestival porting for the Arduino IDE and the Atmega328p with the
>>> external controller MCP2515.
>>> > >> > > >
>>> > >> > > > It works but the guy that makes the porting cut several
>>> features to fit the code with the Atmega328 ROM and RAM.
>>> > >> > > >
>>> > >> > > > I reached it compilable in Arduino starting from the AVR
>>> example for the ATCAN90128. This uC is very similar to the ATmega64M1.
>>> > >> > > >
>>> > >> > > > The only things that I did was to change the timer, from
>>> timer3 to timer1 (timer3 is not present on the ATmega64M1) and some tiny
>>> modifications in the CAN driver.
>>> > >> > > >
>>> > >> > > > Actually my project is compilable in Arduino where I created
>>> an example to read an analog input (A0) sending it through a PDO each
>>> 100ms.
>>> > >> > > >
>>> > >> > > > The only thing to need in order to compile it is the Arduino
>>> IDE support files for CAN enabled Amtel AVR chips: ATmega64M1, ATmega32M1,
>>> ...HERE.
>>> > >> > > >
>>> > >> > > > I cannot figure out why but actually the example doesn't work
>>> and I'm struggling on it....making me a bit crazy because I don't
>>> understand why.
>>> > >> > > >
>>> > >> > > >
>>> > >> > > >
>>> > >> > > > Hope that someone can help me in this....
>>> > >> > > >
>>> > >> > > > Thanks
>>> > >> > > >
>>> > >> > > > Alessio
>>> > >> > > > _______________________________________________
>>> > >> > > > Canfestival-devel mailing list
>>> > >> > > > Canfestival-devel@lists.sourceforge.net
>>> <http://invalidurl.gif>
>>> > >> > > >
>>> https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>> > >> > >
>>> > >> > >
>>> > >> > > _______________________________________________
>>> > >> > > Canfestival-devel mailing list
>>> > >> > > Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> > > https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>> > >> > >
>>> > >> > >
>>> > >> > > _______________________________________________
>>> > >> > > Canfestival-devel mailing list
>>> > >> > > Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> > > https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>> > >> >
>>> > >> >
>>> > >> > _______________________________________________
>>> > >> > Canfestival-devel mailing list
>>> > >> > Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> > https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>> > >> >
>>> > >> >
>>> > >> > _______________________________________________
>>> > >> > Canfestival-devel mailing list
>>> > >> > Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> > https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>> > >>
>>> > >>
>>> > >> _______________________________________________
>>> > >> Canfestival-devel mailing list
>>> > >> Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >> _______________________________________________
>>> > >> Canfestival-devel mailing list
>>> > >> Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > >> https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>> > >
>>> > >
>>> > >
>>> > > _______________________________________________
>>> > > Canfestival-devel mailing list
>>> > > Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > > https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>> >
>>> >
>>> > _______________________________________________
>>> > Canfestival-devel mailing list
>>> > Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>> >
>>> >
>>> > _______________________________________________
>>> > Canfestival-devel mailing list
>>> > Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> > https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>>
>>>
>>> _______________________________________________
>>> Canfestival-devel mailing list
>>> Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>>
>>>
>>> _______________________________________________
>>> Canfestival-devel mailing list
>>> Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>>> https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Canfestival-devel mailing list
>> Canfestival-devel@lists.sourceforge.net <http://invalidurl.gif>
>> https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>>
>
>
>
>
> _______________________________________________
> Canfestival-devel mailing list
> Canfestival-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/canfestival-devel
>
_______________________________________________
Canfestival-devel mailing list
Canfestival-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/canfestival-devel

Reply via email to