<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: 8451 interrupts in Sensors</title>
    <link>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654879#M4192</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I did that. &amp;nbsp;Please note that it is not working properly. &amp;nbsp;If I enable the DRDY interrupt, I only get a few tap interrupts. &amp;nbsp;This is what I stated above and showed in the initial code. &amp;nbsp;As I said later, the tapping only works if I disable the DRDY interrupt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 19 Nov 2016 18:24:24 GMT</pubDate>
    <dc:creator>JBM</dc:creator>
    <dc:date>2016-11-19T18:24:24Z</dc:date>
    <item>
      <title>8451 interrupts</title>
      <link>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654874#M4187</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to get tap detection working using an MMA8451QR1 and a Kinetis K22. &amp;nbsp;I have used this combination in a number of other products and haven't had any problems. &amp;nbsp;This is the first time I'm trying to get tap detection working.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am running the MEMS at 200 Hz, trying to get interrupts for data and tap detection. &amp;nbsp;I get interrupts for data, and the first one for tap detection, but after that, nothing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, I can't post all my code, so I'll try to show what is going on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a number of structs which are unions of bit fields and "Byte" data. &amp;nbsp;Here is my configuration of the MEMS:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;STRONG&gt;mma8451qr1_configure_tap&lt;/STRONG&gt;(&lt;SPAN class=""&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;/SPAN&gt;)&lt;/P&gt;&lt;P class=""&gt;{&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_CTRL_REG1 &lt;SPAN class=""&gt;ctrl_reg1&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_CTRL_REG2 &lt;SPAN class=""&gt;ctrl_reg2&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_CTRL_REG3 &lt;SPAN class=""&gt;ctrl_reg3&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_CTRL_REG4 &lt;SPAN class=""&gt;ctrl_reg4&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_CTRL_REG5 &lt;SPAN class=""&gt;ctrl_reg5&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_XYZDATACFG &lt;/SPAN&gt;ctrl_reg_xyz_data_cfg&lt;SPAN class=""&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_PULSE_CFG &lt;SPAN class=""&gt;pulse_cfg&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_PULSE_THSX &lt;SPAN class=""&gt;pulse_thsx&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_PULSE_THSY &lt;SPAN class=""&gt;pulse_thsy&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_PULSE_THSZ &lt;SPAN class=""&gt;pulse_thsz&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_PULSE_TMLT &lt;SPAN class=""&gt;pulse_tmlt&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_PULSE_LTCY &lt;SPAN class=""&gt;pulse_ltcy&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;MMA_PULSE_WIND &lt;SPAN class=""&gt;pulse_wind&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;ctrl_reg2&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;RST&lt;SPAN class=""&gt; = true;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG2, &lt;SPAN class=""&gt;ctrl_reg2&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;do&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;ctrl_reg2&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt; = &lt;STRONG&gt;mma8451qr1_get_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG2);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;} &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;while&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt; (&lt;/SPAN&gt;ctrl_reg2&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;RST&lt;SPAN class=""&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;/* CTRL_REG1 */&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;ctrl_reg1&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt; = &lt;STRONG&gt;mma8451qr1_get_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG1);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;ctrl_reg1&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Bits&lt;/SPAN&gt;.&lt;SPAN class=""&gt;DATA_RATE&lt;/SPAN&gt; = MMA8451QR1_DATA_RATE_200;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG1, &lt;SPAN class=""&gt;ctrl_reg1&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;ctrl_reg_xyz_data_cfg&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Bits&lt;/SPAN&gt;.&lt;SPAN class=""&gt;FS&lt;/SPAN&gt; = MMA8451QR1_FSRANGE_2G;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_XYZ_DATA_CFG, &lt;SPAN class=""&gt;ctrl_reg_xyz_data_cfg&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;/* CTRL_REG2 */&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;ctrl_reg2&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt; = &lt;STRONG&gt;mma8451qr1_get_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG2);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;ctrl_reg2&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Bits&lt;/SPAN&gt;.&lt;SPAN class=""&gt;MODS&lt;/SPAN&gt; = MMA8451QR1_OVS_MODE_HRES;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG2, &lt;SPAN class=""&gt;ctrl_reg2&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;/* CTRL_REG4 */&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;ctrl_reg4&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt; = &lt;STRONG&gt;mma8451qr1_get_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG4);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;ctrl_reg4&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;INT_EN_PULSE&lt;SPAN class=""&gt; = true;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;ctrl_reg4&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;INT_EN_DRDY&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;= true;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG4, &lt;SPAN class=""&gt;ctrl_reg4&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;/* CTRL_REG5 */&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;ctrl_reg5&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt; = &lt;STRONG&gt;mma8451qr1_get_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG5);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;ctrl_reg5&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;INT_CFG_PULSE&lt;SPAN class=""&gt; = false; &lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;/* false == INT2 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;ctrl_reg5&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;INT_CFG_DRDY&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;= false;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_CTRL_REG5, &lt;SPAN class=""&gt;ctrl_reg5&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_cfg&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;XSPEFE&lt;SPAN class=""&gt; = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_cfg&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;XDPEFE&lt;SPAN class=""&gt; = 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_cfg&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;YSPEFE&lt;SPAN class=""&gt; = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_cfg&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;YDPEFE&lt;SPAN class=""&gt; = 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_cfg&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;ZSPEFE&lt;SPAN class=""&gt; = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_cfg&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;ZDPEFE&lt;SPAN class=""&gt; = 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_cfg&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;ELE&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;= 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_cfg&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;DPA&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;= 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_PULSE_CFG, &lt;SPAN class=""&gt;pulse_cfg&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_thsx&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Byte&lt;SPAN class=""&gt; = 0x20;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_PULSE_THSX, &lt;SPAN class=""&gt;pulse_thsx&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_thsy&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Byte&lt;SPAN class=""&gt; = 0x20;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_PULSE_THSY, &lt;SPAN class=""&gt;pulse_thsy&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_thsz&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Byte&lt;SPAN class=""&gt; = 0x2A;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_PULSE_THSZ, &lt;SPAN class=""&gt;pulse_thsz&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_tmlt&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Byte&lt;SPAN class=""&gt; = 0x28;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_PULSE_TMLT, &lt;SPAN class=""&gt;pulse_tmlt&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_ltcy&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Byte&lt;SPAN class=""&gt; = 0x28;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_PULSE_LTCY, &lt;SPAN class=""&gt;pulse_ltcy&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pulse_wind&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Byte&lt;SPAN class=""&gt; = 0x0F;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_register&lt;/STRONG&gt;(MMA8451QR1_REG_PULSE_WIND, &lt;SPAN class=""&gt;pulse_wind&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt;);&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_set_active&lt;/STRONG&gt;();&lt;/P&gt;&lt;P class=""&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I have the INT1 and INT2 connected to two pins on the K22 and the interrupts work. &amp;nbsp; The pins on the K22 are configured as GPIO, with interrupts. &amp;nbsp;The handler is here:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;STRONG&gt;PORTD_IRQHandler&lt;/STRONG&gt;(&lt;SPAN class=""&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;/SPAN&gt;)&lt;/P&gt;&lt;P class=""&gt;{&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; (PORTD_PCR4 &amp;amp; PORT_PCR_ISF_MASK)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp; g_main_event_flags.&lt;SPAN class=""&gt;bits&lt;/SPAN&gt;.&lt;SPAN class=""&gt;do_mems&lt;/SPAN&gt; = true;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;PORTD_PCR4 |= PORT_PCR_ISF_MASK;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; (PORTD_PCR6 &amp;amp; PORT_PCR_ISF_MASK)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;g_main_event_flags.&lt;SPAN class=""&gt;bits&lt;/SPAN&gt;.&lt;SPAN class=""&gt;do_mems&lt;/SPAN&gt; = true;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;PORTD_PCR6 |= PORT_PCR_ISF_MASK;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P class=""&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;The g_main_event_flags struct is also a union and declared globally.&lt;/P&gt;&lt;P&gt;In my main processing loop (main.c), I have the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;/*&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;* Handle MEMS events&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;*/&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt; (g_main_event_flags.&lt;SPAN class=""&gt;bits&lt;/SPAN&gt;.&lt;SPAN class=""&gt;do_mems&lt;/SPAN&gt;)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;MMA_INT_SOURCE &lt;SPAN class=""&gt;int_src&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;MMA_PULSE_SRC &lt;SPAN class=""&gt;pulse_src&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;int_src&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt; = &lt;STRONG&gt;mma8451qr1_get_int_source&lt;/STRONG&gt;();&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt; (&lt;/SPAN&gt;int_src&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;SRC_PULSE&lt;SPAN class=""&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;pulse_src&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt; = &lt;STRONG&gt;mma8451qr1_read_pulse&lt;/STRONG&gt;();&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;ports_led&lt;/STRONG&gt;(true);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt; (&lt;/SPAN&gt;int_src&lt;SPAN class=""&gt;.&lt;/SPAN&gt;Bits&lt;SPAN class=""&gt;.&lt;/SPAN&gt;SRC_DRDY&lt;SPAN class=""&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;mma8451qr1_read_data&lt;/STRONG&gt;();&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;int_src&lt;/SPAN&gt;.&lt;SPAN class=""&gt;Byte&lt;/SPAN&gt; = &lt;STRONG&gt;mma8451qr1_get_int_source&lt;/STRONG&gt;();&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;g_main_event_flags.&lt;SPAN class=""&gt;bits&lt;/SPAN&gt;.&lt;SPAN class=""&gt;do_mems&lt;/SPAN&gt; = false;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;My understanding from reading the spec is that I should read the SRC_PULSE register to clear the interrupt and read the data from the MEMS to clear the SRC_DRDY interrupt. &amp;nbsp;All the routines appear to work, I just never get a second interrupt. &amp;nbsp;It makes me think I'm not clearing something I should.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ports_led() sets a GPIO to turn on an LED. &amp;nbsp;It also sets a clock counter to keep it on for about 200 ms (interrupt driven) so that I can see the taps and then the LED is turned off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have gotten as many as three taps before it stops working. &amp;nbsp;I can pause the debugger and it the K22 is not frozen (still executes my main event loop).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2026 22:16:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654874#M4187</guid>
      <dc:creator>JBM</dc:creator>
      <dc:date>2026-02-03T22:16:00Z</dc:date>
    </item>
    <item>
      <title>Re: 8451 interrupts</title>
      <link>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654875#M4188</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've done a little more experimenting. &amp;nbsp;If I turn off interrupts for data ready (INT_EN_DRDY = 0), it works. &amp;nbsp;I find it hard to believe that you can't do both at once, so it must be something I'm doing. &amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Nov 2016 02:00:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654875#M4188</guid>
      <dc:creator>JBM</dc:creator>
      <dc:date>2016-11-15T02:00:45Z</dc:date>
    </item>
    <item>
      <title>Re: 8451 interrupts</title>
      <link>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654876#M4189</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello James,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much for writing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this case, I recommend to use the example project below as a reference for your application.&lt;SPAN style="color: red;"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-329888"&gt;MMA8451Q -Single Tap Detection Bare metal example project&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Kinetis KL25Z is used in the project mentioned but it is useful for you. Please refer to the registers configuration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please let me know if you have any further question and I will be glad to help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Nov 2016 15:52:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654876#M4189</guid>
      <dc:creator>david_diaz</dc:creator>
      <dc:date>2016-11-15T15:52:55Z</dc:date>
    </item>
    <item>
      <title>Re: 8451 interrupts</title>
      <link>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654877#M4190</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I saw that page. &amp;nbsp;I finally disabled the DRDY interrupt and I have it working. That seems a bit extreme though. &amp;nbsp;Shouldn't I be able to get both interrupts (PULSE and DRDY) so that I can use the data and get taps?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 03:07:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654877#M4190</guid>
      <dc:creator>JBM</dc:creator>
      <dc:date>2016-11-17T03:07:56Z</dc:date>
    </item>
    <item>
      <title>Re: 8451 interrupts</title>
      <link>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654878#M4191</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello James,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am glad to know your application works properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Indeed, you can enable both interrupt sources at the &lt;STRONG&gt;CTRL_REG4&lt;/STRONG&gt; register.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I recommend reading the &lt;STRONG&gt;INT_SOURCE&lt;/STRONG&gt; register once an interrupt is triggered in order to know the source of the interrupt. Please note that the bits are set by a low to high transition and are cleared by reading the appropriate interrupt source register.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please let me know if this information helps.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Nov 2016 16:37:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654878#M4191</guid>
      <dc:creator>david_diaz</dc:creator>
      <dc:date>2016-11-17T16:37:53Z</dc:date>
    </item>
    <item>
      <title>Re: 8451 interrupts</title>
      <link>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654879#M4192</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I did that. &amp;nbsp;Please note that it is not working properly. &amp;nbsp;If I enable the DRDY interrupt, I only get a few tap interrupts. &amp;nbsp;This is what I stated above and showed in the initial code. &amp;nbsp;As I said later, the tapping only works if I disable the DRDY interrupt.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 19 Nov 2016 18:24:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654879#M4192</guid>
      <dc:creator>JBM</dc:creator>
      <dc:date>2016-11-19T18:24:24Z</dc:date>
    </item>
    <item>
      <title>Re: 8451 interrupts</title>
      <link>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654880#M4193</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello James,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I noticed that you are using an ODR of 200Hz. It means that every 5ms an interrupt will be triggered due to a new set of data is ready (DRDY interrupt).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume that is the reason you are not able to generate a PULSE interrupt.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In this case, I recommend using a slower ODR in order to have enough time between the every new set of data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please let me know your results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Nov 2016 14:22:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654880#M4193</guid>
      <dc:creator>david_diaz</dc:creator>
      <dc:date>2016-11-22T14:22:23Z</dc:date>
    </item>
    <item>
      <title>Re: 8451 interrupts</title>
      <link>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654881#M4194</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tried it at a slower rate and it worked better, but not completely.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I removed the calls to read the INT_SOURCE register and just set my flags based on the interrupts (INT1 for pulse and INT2 for data) and it appears to work fine. &amp;nbsp;Not sure why reading the INT_SOURCE register makes things not work, I'm sure it's something I'm doing somewhere, but I can't find it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can read data at 200 Hz and get tap interrupts. &amp;nbsp;I don't think that 5 ms is a short time for my interrupts considering all I'm doing is setting a flag. &amp;nbsp;This is running on a K22 at 40 MHz. &amp;nbsp;Just to verify, I stepped the speed up to 800 Hz and it still works (without reading the INT_SOURCE register).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the help everybody!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 03 Dec 2016 17:48:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/8451-interrupts/m-p/654881#M4194</guid>
      <dc:creator>JBM</dc:creator>
      <dc:date>2016-12-03T17:48:14Z</dc:date>
    </item>
  </channel>
</rss>

